|
|
hi guys,
I've developed a graph control in GDI+ and used a timer in it.. now i'm converting it to WPF. but when i went on and search for a timer there is no timers in WPF... how can i resolve this problem?any alternative to use?
regards,
rangana.
|
|
|
|
|
You can use System.Threading.Timer just like you would in non-WPF code. The problem that you will likely encounter is that DependencyObjects (many object within WPF derive from a DependencyObject) often need to be used within in the object's original thread context. This is easily handled by having your background thread trigger an action within the dependency object's thread. For example to make a TextBlock with a background that alternates between red and blue every 1 second, try the following:
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
class FlashingText : TextBlock
{
Timer timer;
public FlashingText() {
timer = new Timer(new TimerCallback(Flash), null, 0, 1000);
}
void Flash(object state) {
Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(ToggleColor));
}
void ToggleColor() {
Background = Background == Brushes.Blue ? Brushes.Red : Brushes.Blue;
}
}
A few notes of caution:
I have not tested the code above, I just scribbled it out to illustrate a concept. It may need a few tweaks to compile.
Also, composing a graph with a large number of elements within WPF will often slow the UI thread and may lead to temporary hanging of the UI. To reduce this problem, there are a number of techniques that can reduce or eliminate this issue. In my experience, drawing more than a few thousand points is likely to provide disappointing UI interaction without an efficient design.
|
|
|
|
|
Can any one tell me where can I get some free XAML(WPF) Template or theme for business application.
Thanking in Advance
Johnny
|
|
|
|
|
Saiyed Alam wrote: Can any one tell me where can I get some free XAML(WPF) Template or theme for business application.
Look at some of the WPF articles here on CodeProject, there is a superb collection of free code and step by step guidance.
|
|
|
|
|
I have defined a grid like this:
<br />
<Grid.RowDefinitions> <br />
<RowDefinition Height="Auto"/><br />
<RowDefinition Height="*" MinHeight="300" /><br />
<RowDefinition Height="Auto"/><br />
<RowDefinition Height="Auto"/><br />
</Grid.RowDefinitions>
I would like to know what the height of Grid.Row 1 is at runtime. Giving it a name and asking for the height only returns a "*". Is there a way to determine this?
Thanks
|
|
|
|
|
Never mind. I just added a panel around everything in that grid row and the panel knows how high it is.
Thanks
Brent
|
|
|
|
|
This is not done in wpf. In wpf panel is not available, so i am using stack panel but still i am getting height = 0 at run time. Is there any other way to find height of grig at run time?
|
|
|
|
|
i have same problem, but i want to get height of grid at run time. Is there any way to get height of grid in wpf at run time?
|
|
|
|
|
Check the ActualHeight and ActualWidth properties.
Brent
|
|
|
|
|
Hi friends i want to animate the listboxITem on load of the listbox just similar to twitter blu.
i create a template for the listItem and onload event i give animation to it but when listbox loaded all the listITem animate at the same time. plz give some idea????
WANTED wasim khan(Killed 50 Innocent Buggs, Distroyed 200 Exception, make 5 Project Hostage) any Compnay Hire him will pay 30,000. Best place where u can get him is Sorcim Technologies Murre Road RWP
|
|
|
|
|
In window form i can create 1 image and drag it from 1 place to another by:
Image_MouseDown, Image_MouseMove and Image_MouseUp but in WPF i make 1 grid(create 5 row and 5 column) and i add child (image) to row 2 and column 2 then 1 make same events but i can't drag it.
please make a solution .
Thank.Sorry for my english !
|
|
|
|
|
It works the same way, the only thing is, the way that things are laid out in WPF is a little different. What have you tried ?
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
The grid have 5 ColumnDefinitions and 5 RowDefinitions.
If image i can get current Column and Row by GetValue(Grid.RowProperty) and GetValue(Grid.ColumnProperty)
. But i don't know how to get current Column and Row of Mouse.
If know i can SetValue.
Thank !
|
|
|
|
|
Oh, you want to know what column and row the mouse is over ? I'd imagine you'd need to turn the rows and columns into pixel positions to calculate that, but then, if you caught the mouse move event in each grid square, you could just track which square control got the event last.....
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Can you show me how to "caught the mouse move event in each grid square".
Thank 
|
|
|
|
|
The grid doesn't really have grid squares. It has column/row definitions
that define the grid squares. These definitions are used to layout elements
"in" the grid squares.
So put elements in the grid squares, and subscribe to events on those elements.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Thanks for explaining that a bit better than I did
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
I've got your back.
Gives you more time to focus on NullReferenceException issues.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I have a grid gr and divided it into 5 row, 5 column and placed a Image in it
Image tem = new Image();
tem.Source = new BitmapImage(new Uri("..."));
gr.Children.Add(tem);
tem.SetValue(Grid.ColumnProperty,0);
tem.SetValue(Grid.RowProperty,0);
tem.MouseLeftButtonDown += new MouseButtonEventHandler(tem_MouseLeftButtonDown);
tem.MouseLeftButtonUp+= new MouseButtonEventHandler(tem_MouseLeftButtonUp);
tem.MouseMove += new MouseButtonEventHandler(tem_MouseMove);
Now, i want to make tem_MouseLeftButtonDown, tem_MouseLeftButtonUp, tem_MouseMove to move Image from (row=i,column=j) to (row=Mouse point,column=Mouse point), in window form i can but in wpf i can't.
Sorry for my english.
Thank 
|
|
|
|
|
The Grid control, being a Panel element, is suited for layout
of child elements. For what you are doing, it would be much simpler
to use another simpler panel like a Canvas and keep track of the
cell coordinates yourself.
That's just my opinion. You could do it with a Grid, but when I picture
the code in my head, it looks way messier than it would be using a canvas.
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Yes, I was thinking that, too. I am assuming he wants the image to jump between cells, not move smoothly, but even then, it makes more sense to track positions than use an actual grid, IMO.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Agreed. I was thinking mostly of the hit-testing being messy,
but looking again, I see that WPF drag and drop could be used with
drop targets in each cell to let the framework do a lot of that.
That may even be simpler than using a canvas
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
|
I am newbie to WPF development. We need to develop a kisok application, so is there any sample opensource kiosk project available to learn.
Is there any concept similar to Asp.net master page in WPF. It would be great if you guys can direct us to some similar sample application
|
|
|
|