Search Results

Search found 35682 results on 1428 pages for 'text diff'.

Page 560/1428 | < Previous Page | 556 557 558 559 560 561 562 563 564 565 566 567  | Next Page >

  • How to handle both the KeyDown and KeyUp events in a Silverlight 3 TextBox

    - by sako73
    I am attaching handlers to the KeyDown and KeyUp events of a Silverlight 3 TextBox as so: _masterTextBox.KeyDown += (s, args) => { CheckForUserEnteredText(MasterTextBox.Text); args.Handled = false; }; _masterTextBox.KeyUp += (s, args) => { UpdateText(MasterTextBox.Text); }; When I comment out the KeyDown handler, then the KeyUp will trap the event, otherwise, only the KeyDown handler is triggered. Can someone explain why the KeyUp event handler is not firing after the KeyDown handler does? Thanks.

    Read the article

  • convert string to float without silent NaN/Inf conversion

    - by Peter Hansen
    I'd like convert strings to floats using Python 2.6 and later, but without silently converting things like 'NaN' and 'Inf'. Before 2.6, float("NaN") would raise a ValueError. Now it returns a float for which math.isnan() returns True, which is not useful behaviour for my application. Here's what I've got at the moment: import math def get_floats(source): for text in source.split(): try: val = float(text) if math.isnan(val) or math.isinf(val): raise ValueError yield val except ValueError: pass This is a generator, which I can supply with strings containing whitespace-separated sequences representing real numbers. I'd like it to yield only those fields which are purely numeric representations of floats, as in "1.23" or "-34e6", but not for example "NaN" or "-Inf". Test case: assert list(get_floats('1.23 -34e6 NaN -Inf')) == [1.23, -34000000.0] Please suggest alternatives you consider more elegant, even if they involve "look before you leap" (which is normally considered a lesser approach in Python).

    Read the article

  • IE and Content-disposition inline vs. extension-token

    - by pinkgothic
    Preamble So IE does Mime-Type sniffing. That part's old news. Suggestions of how to combat it tend to be along the lines of 'supply a content-type IE trusts' (i.e. anything that isn't text/plain or application/octet-stream) or 'add extraneous data at the start of the file that is definitely of the type you're serving'. Now, I'm working on an application that has to allow message attachments (like in e-mails), and we want to close up XSS vectors. IE's mime sniffing is one of those vectors - a text/plain file with html content will trigger as html. Recoding isn't an option at this point, changing the attachments the user has provided can only happen if there is absolutely no doubt about the maliciousness of the file - and someone might want to send HTML as text. Now, Microsoft's MSDN article implies the situation might be easier to fix than advertised: If Internet Explorer knows the Content-Type specified and there is no Content-Disposition data, Internet Explorer performs a "MIME sniff," [...] Great! Except I don't have IE nor current means to reliably install it (I realise this is a fairly sad state for a webdeveloper to be in, I hope to fix this soon) and this is grey theory that I can't quite seem to get confirmed one way or the other. Local sources say that line is hogwash - IE will mime sniff anything that is Content-Disposition: inline / <default> and not specific enough for its tastes in -Type. But what about x-* ('extension-token' in the RFC)? Trying to google for how browsers handle Content-Disposition: <extension-token> hasn't yielded anything (though I may just be doing it wrong, my understanding of Google is seriously slipping lately). I found one question that looked promising, but turned out to be a misunderstanding on side of the thread author, meaning that the train of thought was never actually addressed there. Question(s) Does IE really Mime sniff if you expressly pass Content-Disposition: inline? If so: Does anyone here know how browsers handle Content-Disposition: <extension-token>? If they do this in a way that is for my purposes benign, by presuming it to be synonymous with the default (effectively 'inline', though I hear it's not defined anywhere?), is it specific enough for IE not to Mime sniff? Or am I actually shooting myself in the foot by thinking of pursuing this avenue?

    Read the article

  • SMS Gateway service provider with PHP API

    - by Stick it to THE MAN
    I am looking for an SMS Gateway service provider with a PHP API that allows me to: Send out SMS messages (including small binaries) to mobile phones Receive SMS messages from mobile phones Send reverse billing SMS text to mobile phone Messages can be sent/received to/from mobiles globally (or at least most countries) Allow bulk sending of text messages Ideally, the API should be relatively straightforward an easy to use. Last but not the least, the service should provide good value for money (i.e. it should be inexpensive or relatively inexpensive for the features it provides). I am (currently) based in the United Kingdom (I dont know if this is relevant in the choise of SMS service provider). I would ideally like a recommendation from someone who is currently using (or has succesfully used) such a service.

    Read the article

  • Join collection of objects into comma-separated string

    - by Helen Toomik
    In many places in our code we have collections of objects, from which we need to create a comma-separated list. The type of collection varies: it may be a DataTable from which we need a certain column, or a List<Customer>, etc. Now we loop through the collection and use string concatenation, for example: string text = ""; string separator = ""; foreach (DataRow row in table.Rows) { text += separator + row["title"]; separator = ", "; } Is there a better pattern for this? Ideally I would like an approach we could reuse by just sending in a function to get the right field/property/column from each object.

    Read the article

  • I have a php form dropdown menu that needs to send information

    - by shinjuo
    I have a dropdown menu that is filled by a mysql database. I need to select one and have it send the information for use on the next page after clicking submit. It does populate the drop down menu like it is supposed to it just does not seem to catch the data on the next page. Here is what I have: removeMain.php <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <form action="remove.php" method="post"> <?php $link = mysql_connect('********', '********', '*********'); if (!$link){ die('Could not connect: ' . mysql_error()); } mysql_select_db("********", $link); $res = mysql_query("SELECT * FROM cardLists order by cardID") or die(mysql_error()); echo "<select name = CardID>"; while($row=mysql_fetch_assoc($res)) { echo "<option value=$row[ID]>$row[cardID]</a></option>"; } echo "</select>"; ?> Amount to Remove: <input type="text" name="Remove" /> <input type="submit" /> </form> <body> </body> </html> remove.php <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <?php $link = mysql_connect('*********', '*********', '*********'); if (!$link){ die('Could not connect: ' . mysql_error()); } mysql_select_db("***********y", $link); $query = sprintf("UPDATE cardLists SET AmountLeft = AmountLeft - %s WHERE cardID = '%s'", mysql_real_escape_string($_POST["Remove"]), mysql_real_escape_string($_POST["CardID"])); mysql_query($query); mysql_close($link); ?> <br /> <a href="removeMain.php"> <input type="submit" name="return" id="return" value="Update More" /></a> <a href="index.php"> <input type="submit" name="main" id="main" value="Return To Main" /></a> </body> </html>

    Read the article

  • Only show activities from a specific gadget in OpenSocial

    - by corné
    I created a gadget which is able to post activities: function postActivity(text) { var params = {}; params[opensocial.Activity.Field.TITLE] = text; var activity = opensocial.newActivity(params); opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH); }; And I request activities by doing: req.add(req.newFetchActivitiesRequest( new opensocial.IdSpec({'userId' : 'VIEWER', 'groupId' : 'FRIENDS'})), 'friends_activities'); My question is: How can I filter activities to only show activities posted by a specific gadget? I reckon the field "appId" is meant for this, but this field is empty in the response.

    Read the article

  • How to use CFNetwork to get byte array from sockets?

    - by Vic
    Hi, I'm working in a project for the iPad, it is a small program and I need it to communicate with another software that runs on windows and act like a server; so the application that I'm creating for the iPad will be the client. I'm using CFNetwork to do sockets communication, this is the way I'm establishing the connection: char ip[] = "192.168.0.244"; NSString *ipAddress = [[NSString alloc] initWithCString:ip]; /* Build our socket context; this ties an instance of self to the socket */ CFSocketContext CTX = { 0, self, NULL, NULL, NULL }; /* Create the server socket as a TCP IPv4 socket and set a callback */ /* for calls to the socket's lower-level connect() function */ TCPClient = CFSocketCreate(NULL, PF_INET, SOCK_STREAM, IPPROTO_TCP, kCFSocketDataCallBack, (CFSocketCallBack)ConnectCallBack, &CTX); if (TCPClient == NULL) return; /* Set the port and address we want to listen on */ struct sockaddr_in addr; memset(&addr, 0, sizeof(addr)); addr.sin_len = sizeof(addr); addr.sin_family = AF_INET; addr.sin_port = htons(PORT); addr.sin_addr.s_addr = inet_addr([ipAddress UTF8String]); CFDataRef connectAddr = CFDataCreate(NULL, (unsigned char *)&addr, sizeof(addr)); CFSocketConnectToAddress(TCPClient, connectAddr, -1); CFRunLoopSourceRef sourceRef = CFSocketCreateRunLoopSource(kCFAllocatorDefault, TCPClient, 0); CFRunLoopAddSource(CFRunLoopGetCurrent(), sourceRef, kCFRunLoopCommonModes); CFRelease(sourceRef); CFRunLoopRun(); And this is the way I sent the data, which basically is a byte array /* The native socket, used for various operations */ // TCPClient is a CFSocketRef member variable CFSocketNativeHandle sock = CFSocketGetNative(TCPClient); Byte byteData[3]; byteData[0] = 0; byteData[1] = 4; byteData[2] = 0; send(sock, byteData, strlen(byteData)+1, 0); Finally, as you may have noticed, when I create the server socket, I registered a callback for the kCFSocketDataCallBack type, this is the code. void ConnectCallBack(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) { // SocketsViewController is the class that contains all the methods SocketsViewController *obj = (SocketsViewController*)info; UInt8 *unsignedData = (UInt8 *) CFDataGetBytePtr(data); char *value = (char*)unsignedData; NSString *text = [[NSString alloc]initWithCString:value length:strlen(value)]; [obj writeToTextView:text]; [text release]; } Actually, this callback is being invoked in my code, the problem is that I don't know how can I get the data that the windows client sent me, I'm expecting to receive an array of bytes, but I don't know how can I get those bytes from the data param. If anyone can help me to find a way to do this, or maybe me point me to another way to get the data from the server in my client application I would really appreciate it. Thanks.

    Read the article

  • Flash AS3: crop TextField content off at X lines, add '...' at the end

    - by matt lohkamp
    There's only room for three lines of text in the interface, but the content is external and variable, and if it ends up taking up more than three lines, there needs to be some sort of 'view all' button functionality. I can kind of think about what that function needs to look like, but I'm not quite sure what the best way to do it in AS3 would be. Something like (in pseudo code): function cropText(source:TextField, length:int, append:String):TextField{ if(source.lineCount > length){ source.text = // magic function that retuns the first length lines, // minus append.length characters, with the append value tacked onto the end } return source; } ... right? How would you fill in the missing bit?

    Read the article

  • Is this slow WPF TextBlock performance expected?

    - by Ben Schoepke
    Hi, I am doing some benchmarking to determine if I can use WPF for a new product. However, early performance results are disappointing. I made a quick app that uses data binding to display a bunch of random text inside of a list box every 100 ms and it was eating up ~15% CPU. So I made another quick app that skipped the data binding/data template scheme and does nothing but update 10 TextBlocks that are inside of a ListBox every 100 ms (the actual product wouldn't require 100 ms updates, more like 500 ms max, but this is a stress test). I'm still seeing ~10-15% CPU usage. Why is this so high? Is it because of all the garbage strings? Here's the XAML: <Grid> <ListBox x:Name="numericsListBox"> <ListBox.Resources> <Style TargetType="TextBlock"> <Setter Property="FontSize" Value="48"/> <Setter Property="Width" Value="300"/> </Style> </ListBox.Resources> <TextBlock/> <TextBlock/> <TextBlock/> <TextBlock/> <TextBlock/> <TextBlock/> <TextBlock/> <TextBlock/> <TextBlock/> <TextBlock/> </ListBox> </Grid> Here's the code behind: public partial class Window1 : Window { private int _count = 0; public Window1() { InitializeComponent(); } private void OnLoad(object sender, RoutedEventArgs e) { var t = new DispatcherTimer(TimeSpan.FromSeconds(0.1), DispatcherPriority.Normal, UpdateNumerics, Dispatcher); t.Start(); } private void UpdateNumerics(object sender, EventArgs e) { ++_count; foreach (object textBlock in numericsListBox.Items) { var t = textBlock as TextBlock; if (t != null) t.Text = _count.ToString(); } } } Any ideas for a better way to quickly render text? My computer: XP SP3, 2.26 GHz Core 2 Duo, 4 GB RAM, Intel 4500 HD integrated graphics. And that is an order of magnitude beefier than the hardware I'd need to develop for in the real product.

    Read the article

  • css formatting problems

    - by Davey
    So I wanted to mess around with Sass so I created this tiny incredibly simple little page. For reasons unknown to me when I add a top-margin to #content it effects my wrapper div instead. Any information as to why this is happening would be greatly appreciated. Thanks! Here is the page live: http://cheapramen.com/omg/ html: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" /> <title>YO</title> </head> <body> <div id="wrapper"> <div id="content"> <div class="dog"> Bury me with my money </div> </div> </div> </body> </html> Sass html body background-color: #000 padding: 0 margin: 0 height: 100% #wrapper background-color: #fff width: 900px height: 700px margin: 0 auto #content width: 500px margin: 150px 0 0 50px .dog color: #FF3836 font-size: 25px text-shadow: 2px 2px 2px #000 width: 500px height: 500px -moz-border-radius: 5px -webkit-border-radius: 5px border: 18px solid #FF3836 Css that the Sass spits out html body { background-color: #000; padding: 0; margin: 0; height: 100%; } #wrapper { background-color: #fff; width: 900px; height: 700px; margin: 0 auto; } #content { width: 500px; margin: 150px 0 0 50px; } .dog { color: #FF3836; font-size: 25px; text-shadow: 2px 2px 2px #000; width: 500px; height: 500px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 18px solid #FF3836; }

    Read the article

  • NSNumberFormatter weirdness with NSNumberFormatterPercentStyle

    - by rein
    Hi, I need to parse some text in a UITextField and turn it into a percentage. Ideally, I'd like the user to either type something like 12 or 12% into the text field and have that be parsed into a number as a percentage. Here's what's weird. The number formatter seems to not like 12 and seems to divide 12% by 10000 instead of 100: NSNumberFormatter *formatter = [[[NSNumberFormatter alloc] init] autorelease]; [formatter setNumberStyle:NSNumberFormatterPercentStyle]; NSNumber *n1 = [formatter numberFromString:@"12"]; NSNumber *n2 = [formatter numberFromString:@"12%"]; NSLog(@"n1 = %@", n1); // n1 = (null) NSLog(@"n2 = %@", n2); // n2 = 0.0012 How do I get the formatter to return 0.12 as expected? EDIT: it seems to only happen if the formatter fails first. If the formatter does not fail it returns 0.12 as expected. Strange.

    Read the article

  • TCHAR end of line character

    - by Xaver
    int DownloadFtpDirectory(TCHAR* DirPath) { WIN32_FIND_DATA FileData; UINT a; TCHAR* APP_NAME = TEXT("ftpcli"); TCHAR* f; int j = 5; do { j++; f = _tcsninc(DirPath, j); }while (_tcsncmp(f, TEXT("/"), 1)); TCHAR* PATH_FTP = wcsncpy(new TCHAR[j], DirPath, j); After the last line gets a string in which there is no line ending character, how to fix this? P.S. how to do so would be out of line "ftp://ftp.microsoft.com/bussys/", get a string ftp.microsoft.com if both strings are TCHAR ?

    Read the article

  • WAMP not sending file headers (content-type) correctly

    - by Industrial
    Hi! I cant get a PHP file to send correct headers at my WAMP server. Wouldn't be a problem normally except that is phpMyAdmin that is freaking out right now. Here's the row that the file that merges the css files together in phpmyadmin uses to send the output as CSS. header('Content-Type: text/css; charset=UTF-8'); I have also putted a .htaccess file in the phpmyadmin directory: AddType text/css .css Neither is working. What can I do to make sure that this file is interpreted as a CSS by firefox?

    Read the article

  • Using Recaptcha with EPiServer XForms

    - by Andy
    Hi, Does any one have experiense of using Recaptcha with XForms in EPiServer? I don't know where to put the Recaptcha control and how to make it work. The sample code for ASP.NET is the code below. Where should i put it. My guess is in the FormControl_BeforeSubmitPostedData? <%@ Page Language="VB" % <%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" % Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) If Page.IsValid Then lblResult.Text = "You Got It!" lblResult.ForeColor = Drawing.Color.Green Else lblResult.Text = "Incorrect" lblResult.ForeColor = Drawing.Color.Red End If End Sub

    Read the article

  • DRUPAL: Spamspan module... how does it work ?

    - by Patrick
    hi, I've installed http://drupal.org/project/spamspan module for Drupal (drupal.org/project/spamspan), in order to obfuscate the e-mail addresses on my website. However I'm not sure it is working. I can see the email url from source html and I think the module is not filtering anything. I've added some e-mails in the text editor CKEditor. Is it automatically detecting these emails written in text editor ? I haven't find any settings menu, after I installed the module. I guess there is not. thanks

    Read the article

  • Which JavaScript MVC framework to use for wysiwyg editing and floating context-sensitive settings pa

    - by ernests
    I'm developing a cms that allows editing everything on the page (generated server-side with a template engine) by just clicking on it — the area turns into input field, textarea or a full-featured tinyMCE editor, Template defines editable elements like "page heading", "copyright footer text", "image", "rich text block" etc. Along with that there's always a flotaing panel with several tabs, some of which contain general settings like page bacground color, font settings etc, but some are context sensitive (e.g., the clicking on "image" editable field triggers to display uploading/cropping/captioning interface in the floating panel). All settings in the panel are either simple inputs or sliders or checkboxes. I'm new to using MVC with javascript, and in fact haven't used it much before. jQuery is used as code library for the project. Should i use JavascriptMVC, SproutCore or anything else? Does any of them allow some kind of sandboxing (within bounds of commmon sense) to allow some javascript code by user-generated skins on my cms? thank you!

    Read the article

  • Zend_Form -> Nicely change setRequired() validate message

    - by dittonamed
    Say I create a text element like this: $firstName = new Zend_Form_Element_Text('firstName'); $firstName->setRequired(true); Whats the best way to change the default error message from: Value is empty, but a non-empty value is required to a custom message? I read somewhere that to replace the message, just use addValidator(..., instead (NO setRequired), like this: $firstName = new Zend_Form_Element_Text('firstName'); $firstName->addValidator('NotEmpty', false, array('messages'=>'Cannot be empty')); but in my testing, this doesn't work - it doesn't validate at all - it will pass with an empty text field. Using both (addValidator('NotEmp.. + setRequired(true)) at the same time doesn't work either - it double validates, giving two error messages. Any ideas? Thanks!

    Read the article

  • GWT styles not applying

    - by sernaferna
    I'm creating a GWT application that uses UiBinder, and I've come across a bizarre problem where styles aren't applying to my elements--until I refresh the browser, and then the styles briefly get applied, in that fraction of a second before the page refreshes. In other words: Open page; none of my defined styles are used. Hit Refresh For a fraction of a second the styles are used, before the page goes blank The page reloads, without the styles again I'm going to include my entire *ui.xml file, because it's not too big. <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"> <ui:style> .idLabelStyle { font-weight: bold; text-align: center; width: 100px; border-style: solid; border-width: 1px; margin-right: 5px; } .nameLabelStyle { font-weight: bold; text-align: center; width: 500px; border-style: solid; border-width: 1px; margin-right: 5px; } .addressLabelStyle { font-weight: bold; text-align: center; width: 500px; border-style: solid; border-width: 1px; } </ui:style> <g:HTMLPanel> <g:HorizontalPanel> <g:Label addStyleNames="{style.idLabelStyle}">ID</g:Label> <g:Label addStyleNames="{style.nameLabelStyle}">Name</g:Label> <g:Label addStyleNames="{style.addressLabelStyle}">Address</g:Label> </g:HorizontalPanel> </g:HTMLPanel> </ui:UiBinder> I really hope I'm missing something simple.

    Read the article

  • Localize node texts in treeview using resource files

    - by Obalix
    For a project I need a tree view that allows the user to select a module, which then is displayed in a content area. The project relies heavily on localization and this is provided by the resource files. Now I discovered today, that the text that are assigned to preset tree view nodes are not contained in the resource files. So the question is whether there is a way of doing this, short of mapping the elemenst in code. I.e. assigning a name to the node, running over all nodes and pulling the resources from the resouce manager based on the node name. This is what I am currently doing, however, it just doesn't "feel" right: private void TranslateNodes(TreeNodeCollection treeNodeCollection) { var rm = Resources.ResourceManager; foreach (TreeNode node in treeNodeCollection) { node.Text = rm.GetString(node.Name + "_Text"); this.TranslateNodes(node.Nodes); } } Thanks!

    Read the article

  • How to get value of a input field in Javascript

    - by gaurav.mishra280295
    I am using valums-file-uploader plugin. It allows me to upload files using ajax. I have a problem with it. I have the following script- <input type="text" id="Gaurav" name="Gaurav" /> <script src="fileuploader.js" type="text/javascript"></script> <script> function createUploader(){ var uploader = new qq.FileUploader({ element: document.getElementById('file'), action: 'do-nothing.php', params:{param: document.getElementById('Gaurav').value}, allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'], minSizeLimit: 1, debug: false }); } // in your app create uploader as soon as the DOM is ready // dont wait for the window to load window.onload = createUploader; </script> In it, I want to set the value of param entered by the user. The code is working properly for default value of Gaurav, but didn't work for user inputted value.

    Read the article

  • Where to specify line height for sIFR

    - by Darren
    I have not had any luck changing the line height for sIFR. I have tried changing the sIFR css and config file as well as my general style sheet. Is there a special trick? GENERAL CSS h1 { font-family: Georgia, Times, serif; font-size: 24px; font-style: normal; line-height: 16px; (has had zero impact, even when I go negative) color: #000000; text-transform: uppercase; margin: 0; padding: 0; outline: none; } CONFIG FILE sIFR.replace(minionpro, { selector: 'h1', wmode: 'transparent', css: '.sIFR-root { color:#000000; text-transform: uppercase; }' });

    Read the article

  • Defining where on the page the flowdocument I am printing will 'start' and 'end'

    - by Sagi1981
    Dear community. I am almost done with implementing a printing functionality, but I am having trouble getting the last hurdle done with. My problem is, that I am printing some reports, consisting of a header (with information about the person the report is about), a footer (with a page number) and the content in the middle, which is a FlowDocument. Since the flowdocuments can be fairly long, It is very possible that they will span multiple pages. My approach is to make a custom FlowDocumentPaginator which derives from DocumentPaginator. In there i define my header and my footer. However, when I print my page, the flowdocument and my header and footer are on top of eachother. So my question is plain and simple - how do I define from where and to where the flowdocument part on the pages will be placed? here is the code from my custommade Paginator: public class HeaderedFlowDocumentPaginator : DocumentPaginator { private DocumentPaginator flowDocumentpaginator; public HeaderedFlowDocumentPaginator(FlowDocument document) { flowDocumentpaginator = ((IDocumentPaginatorSource) document).DocumentPaginator; } public override bool IsPageCountValid { get { return flowDocumentpaginator.IsPageCountValid; } } public override int PageCount { get { return flowDocumentpaginator.PageCount; } } public override Size PageSize { get { return flowDocumentpaginator.PageSize; } set { flowDocumentpaginator.PageSize = value; } } public override IDocumentPaginatorSource Source { get { return flowDocumentpaginator.Source; } } public override DocumentPage GetPage(int pageNumber) { DocumentPage page = flowDocumentpaginator.GetPage(pageNumber); ContainerVisual newVisual = new ContainerVisual(); newVisual.Children.Add(page.Visual); DrawingVisual header = new DrawingVisual(); using (DrawingContext dc = header.RenderOpen()) { //Header data } newVisual.Children.Add(header); DrawingVisual footer = new DrawingVisual(); using (DrawingContext dc = footer.RenderOpen()) { Typeface typeface = new Typeface("Trebuchet MS"); FormattedText text = new FormattedText("Page " + (pageNumber + 1).ToString(), CultureInfo.CurrentCulture, FlowDirection.LeftToRight, typeface, 14, Brushes.Black); dc.DrawText(text, new Point(page.Size.Width - 100, page.Size.Height-30)); } newVisual.Children.Add(footer); DocumentPage newPage = new DocumentPage(newVisual); return newPage; } } And here is the printdialogue call: private void btnPrint_Click(object sender, RoutedEventArgs e) { try { PrintDialog printDialog = new PrintDialog(); if (printDialog.ShowDialog() == true) { FlowDocument fd = new FlowDocument(); MemoryStream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(<My string of text - RTF formatted>)); TextRange tr = new TextRange(fd.ContentStart, fd.ContentEnd); tr.Load(stream, DataFormats.Rtf); stream.Close(); fd.ColumnWidth = printDialog.PrintableAreaWidth; HeaderedFlowDocumentPaginator paginator = new HeaderedFlowDocumentPaginator(fd); printDialog.PrintDocument(paginator, "myReport"); } } catch (Exception ex) { //Handle } }

    Read the article

< Previous Page | 556 557 558 559 560 561 562 563 564 565 566 567  | Next Page >