Actual Date and Time bind to a Label<p>Hello,</p> <p> </p> <p><font face="Times New Roman, Times, Serif">I'd like to bind the actual date and time to a Label. I tried the following code, but it doesn't work. Does anyone now why?</font></p> <p><font face="Times New Roman, Times, Serif"> </font></p><font color="#0000ff" size=2> <p> <div class=codeseg> <div class=codecontent> <div class=codesniptitle><span style="width:100%">Code Snippet</span></div><font color="#0000ff" size=2> <p>&lt;</font><font color="#a31515" size=2>Window</font><font color="#ff0000" size=2> ...</font></p> <p><font size=2></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</p></font><font size=2> <p></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>:</font><font color="#ff0000" size=2>x</font><font color="#0000ff" size=2>=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</p></font><font size=2> <p></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>:</font><font color="#ff0000" size=2>src</font><font color="#0000ff" size=2>=&quot;clr-namespace:System;assembly=mscorlib&quot;&gt;</font><font color="#0000ff" size=2></p></font><font color="#a31515" size=2> <p></font><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2>.</font><font color="#ff0000" size=2>Resources</font><font color="#0000ff" size=2>&gt;</p></font><font color="#a31515" size=2> <p></font><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>ObjectDataProvider</font><font color="#ff0000" size=2> x</font><font color="#0000ff" size=2>:</font><font color="#ff0000" size=2>Key</font><font color="#0000ff" size=2>=&quot;date&quot;</font><font color="#ff0000" size=2> ObjectType</font><font color="#0000ff" size=2>=&quot;{x:Type src:DateTime}&quot;</font><font color="#ff0000" size=2> MethodName</font><font color="#0000ff" size=2>=&quot;Now&quot;/&gt;</font><font color="#a31515" size=2> </p> <p></font><font color="#0000ff" size=2>&lt;/</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2>.</font><font color="#ff0000" size=2>Resources</font><font color="#0000ff" size=2>&gt;</font></p> <p><font color="#0000ff" size=2></font> </p> <p><font color="#0000ff" size=2>....</font></p> <p><font color="#0000ff" size=2><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>Label</font><font color="#ff0000" size=2> </font><font color="#ff0000" size=2>Content</font><font color="#0000ff" size=2>=&quot;{Binding Source={StaticResource date}, Mode=OneWay}&quot;/&gt;</font></font></p></div></div> <p> </p></font> <p><font size=2><font face="Times New Roman, Times, Serif" color="#000000" size=2>Why is it not working? Did I miss something or is my idea totally wrong?</font></font></p> <p><font size=2></font><font face="Times New Roman, Times, Serif" color="#000000"> </font></p> <p><font size=2><font face="Times New Roman, Times, Serif" color="#000000">Thanks</font></font></p> <p><font size=2></font><font face="Times New Roman, Times, Serif" color="#000000"> </font></p> <p><font size=2><font face="Times New Roman, Times, Serif" color="#000000">Chris</font></p></font>© 2009 Microsoft Corporation. All rights reserved.Thu, 19 Jun 2008 00:15:52 Z1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7Christian Feiningerhttp://social.msdn.microsoft.com/Profile/en-US/?user=Christian%20FeiningerActual Date and Time bind to a Label<p>Hello,</p> <p> </p> <p><font face="Times New Roman, Times, Serif">I'd like to bind the actual date and time to a Label. I tried the following code, but it doesn't work. Does anyone now why?</font></p> <p><font face="Times New Roman, Times, Serif"> </font></p><font color="#0000ff" size=2> <p> <div class=codeseg> <div class=codecontent> <div class=codesniptitle><span style="width:100%">Code Snippet</span></div><font color="#0000ff" size=2> <p>&lt;</font><font color="#a31515" size=2>Window</font><font color="#ff0000" size=2> ...</font></p> <p><font size=2></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;</p></font><font size=2> <p></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>:</font><font color="#ff0000" size=2>x</font><font color="#0000ff" size=2>=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;</p></font><font size=2> <p></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>:</font><font color="#ff0000" size=2>src</font><font color="#0000ff" size=2>=&quot;clr-namespace:System;assembly=mscorlib&quot;&gt;</font><font color="#0000ff" size=2></p></font><font color="#a31515" size=2> <p></font><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2>.</font><font color="#ff0000" size=2>Resources</font><font color="#0000ff" size=2>&gt;</p></font><font color="#a31515" size=2> <p></font><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>ObjectDataProvider</font><font color="#ff0000" size=2> x</font><font color="#0000ff" size=2>:</font><font color="#ff0000" size=2>Key</font><font color="#0000ff" size=2>=&quot;date&quot;</font><font color="#ff0000" size=2> ObjectType</font><font color="#0000ff" size=2>=&quot;{x:Type src:DateTime}&quot;</font><font color="#ff0000" size=2> MethodName</font><font color="#0000ff" size=2>=&quot;Now&quot;/&gt;</font><font color="#a31515" size=2> </p> <p></font><font color="#0000ff" size=2>&lt;/</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2>.</font><font color="#ff0000" size=2>Resources</font><font color="#0000ff" size=2>&gt;</font></p> <p><font color="#0000ff" size=2></font> </p> <p><font color="#0000ff" size=2>....</font></p> <p><font color="#0000ff" size=2><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>Label</font><font color="#ff0000" size=2> </font><font color="#ff0000" size=2>Content</font><font color="#0000ff" size=2>=&quot;{Binding Source={StaticResource date}, Mode=OneWay}&quot;/&gt;</font></font></p></div></div> <p> </p></font> <p><font size=2><font face="Times New Roman, Times, Serif" color="#000000" size=2>Why is it not working? Did I miss something or is my idea totally wrong?</font></font></p> <p><font size=2></font><font face="Times New Roman, Times, Serif" color="#000000"> </font></p> <p><font size=2><font face="Times New Roman, Times, Serif" color="#000000">Thanks</font></font></p> <p><font size=2></font><font face="Times New Roman, Times, Serif" color="#000000"> </font></p> <p><font size=2><font face="Times New Roman, Times, Serif" color="#000000">Chris</font></p></font>Wed, 20 Jun 2007 07:59:07 Z2007-06-22T05:07:54Zhttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#742ba427-8dfc-4ef0-9d76-fd60505147b8http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#742ba427-8dfc-4ef0-9d76-fd60505147b8Thomas Claudius Huberhttp://social.msdn.microsoft.com/Profile/en-US/?user=Thomas%20Claudius%20HuberActual Date and Time bind to a Label<p>Hi Chris,</p> <p> </p> <p>Now isn't a method, it's a property:</p> <p> </p><font color="#0000ff" size=2> <p> <div class=codeseg> <div class=codecontent> <div class=codesniptitle><span style="width:100%">Code Snippet</span></div><font color="#0000ff" size=2> <p>&lt;</font><font color="#a31515" size=2>Window.Resources</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#a31515" size=2>ObjectDataProvider</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>x:Key</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>date</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>ObjectType</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>{x:Type src:DateTime}</font><font size=2>&quot;</font><font color="#0000ff" size=2>/&gt;</p> <p>&lt;/</font><font color="#a31515" size=2>Window.Resources</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#a31515" size=2>Label</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Content</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>{Binding Source={StaticResource date},Path=Now,Mode=OneWay}</font><font size=2>&quot;</font><font color="#0000ff" size=2>/&gt;</font></p></div></div> <p> </p></font> <p></p> <p><font color="#0000ff" size=2></p><font color="#000000" size=3>But if you do it this way, the date is just initialized and never updated. Is this that what you want?</font></font>Wed, 20 Jun 2007 08:15:48 Z2007-06-20T08:15:48Zhttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#221dcd8e-e6b2-4970-8cff-5a07ac39ec3ahttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#221dcd8e-e6b2-4970-8cff-5a07ac39ec3aChristian Feiningerhttp://social.msdn.microsoft.com/Profile/en-US/?user=Christian%20FeiningerActual Date and Time bind to a Label<p>No,</p> <p> </p> <p>i want that it will be updated all the time automatically. I thought I can do this with databinding. Isn't that right?</p> <p>How should I do it instead?</p> <p> </p> <p> </p>Wed, 20 Jun 2007 08:30:55 Z2007-06-20T08:30:55Zhttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#5a000058-0b25-4cf7-84be-b96f41045df3http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#5a000058-0b25-4cf7-84be-b96f41045df3Thomas Claudius Huberhttp://social.msdn.microsoft.com/Profile/en-US/?user=Thomas%20Claudius%20HuberActual Date and Time bind to a Label<p>Hi Chris,</p> <p> </p> <p>the problem is that DateTime.Now has no mechanism for change-notification.</p> <p>So you need a custom solution.</p> <p> </p> <p>I would create an extra class that has only a now property and implements INotifyPropertyChanged. It could look like this:</p> <p> </p><font size=2> <p></font><font color="#0000ff" size=2> <div class=codeseg> <div class=codecontent> <div class=codesniptitle><span style="width:100%">Code Snippet</span></div> <p><font color="#0000ff" size=2>public</font><font size=2> </font><font color="#0000ff" size=2>class</font><font size=2> </font><font color="#2b91af" size=2>NotifyingDateTime</font><font size=2>:</font><font color="#2b91af" size=2>INotifyPropertyChanged</p></font><font size=2> <p>{</p> <p></font><font color="#0000ff" size=2>public</font><font size=2> </font><font color="#0000ff" size=2>event</font><font size=2> </font><font color="#2b91af" size=2>PropertyChangedEventHandler</font><font size=2> PropertyChanged;</p> <p></font><font color="#0000ff" size=2>private</font><font size=2> </font><font color="#2b91af" size=2>DateTime</font><font size=2> _now;</p> <p></font><font color="#0000ff" size=2>public</font><font size=2> NotifyingDateTime()</p> <p>{</p> <p>_now = </font><font color="#2b91af" size=2>DateTime</font><font size=2>.Now;</p> <p></font><font color="#2b91af" size=2>DispatcherTimer</font><font size=2> timer = </font><font color="#0000ff" size=2>new</font><font size=2> </font><font color="#2b91af" size=2>DispatcherTimer</font><font size=2>();</p> <p>timer.Interval = </font><font color="#2b91af" size=2>TimeSpan</font><font size=2>.FromMilliseconds(100);</p> <p>timer.Tick += </font><font color="#0000ff" size=2>new</font><font size=2> </font><font color="#2b91af" size=2>EventHandler</font><font size=2>(timer_Tick);</p> <p>timer.Start();</p> <p>}</p> <p></font><font color="#0000ff" size=2>public</font><font size=2> </font><font color="#2b91af" size=2>DateTime</font><font size=2> Now</p> <p>{</p> <p></font><font color="#0000ff" size=2>get</font><font size=2>{</font><font color="#0000ff" size=2>return</font><font size=2> _now;}</p> <p></font><font color="#0000ff" size=2>private</font><font size=2> </font><font color="#0000ff" size=2>set</p></font><font size=2> <p>{</p> <p>_now = </font><font color="#0000ff" size=2>value</font><font size=2>;</p> <p></font><font color="#0000ff" size=2>if</font><font size=2>(PropertyChanged!=</font><font color="#0000ff" size=2>null</font><font size=2>)</p> <p>PropertyChanged(</font><font color="#0000ff" size=2>this</font><font size=2>,</font><font color="#0000ff" size=2>new</font><font size=2> </font><font color="#2b91af" size=2>PropertyChangedEventArgs</font><font size=2>(</font><font color="#a31515" size=2>&quot;Now&quot;</font><font size=2>));</p> <p>}</p> <p>}</p> <p></font><font color="#0000ff" size=2>void</font><font size=2> timer_Tick(</font><font color="#0000ff" size=2>object</font><font size=2> sender, </font><font color="#2b91af" size=2>EventArgs</font><font size=2> e)</p> <p>{</p> <p>Now = </font><font color="#2b91af" size=2>DateTime</font><font size=2>.Now;</p> <p>} </p> <p>}</p></font></div></div> <p> </p></font> <p>In your XAML-File you could then just bind to the Now-Property of this class and will get always the current date and time.</p> <p>If you need to show a different TimeFormat, you could use a ValueConverter to do that:</p> <p> </p><font color="#0000ff" size=2> <p> <div class=codeseg> <div class=codecontent> <div class=codesniptitle><span style="width:100%">Code Snippet</span></div><font color="#0000ff" size=2> <p>&lt;</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>x:Class</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>MyApp.Window1</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>xmlns</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>http://schemas.microsoft.com/winfx/2006/xaml/presentation</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>xmlns:x</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>http://schemas.microsoft.com/winfx/2006/xaml</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p></font><font color="#ff0000" size=2>xmlns:local</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>clr-namespace:MyApp</font><font size=2>&quot;</font><font color="#0000ff" size=2> </p> <p></font><font color="#ff0000" size=2>Title</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>MyApp</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Height</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>300</font><font size=2>&quot;</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Width</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>300</font><font size=2>&quot;</p></font><font color="#0000ff" size=2> <p>&gt;</p> <p>&lt;</font><font color="#a31515" size=2>Window.Resources</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#a31515" size=2>local:NotifyingDateTime</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>x:Key</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>notifyingDate</font><font size=2>&quot;</font><font color="#0000ff" size=2>/&gt;</p> <p>&lt;/</font><font color="#a31515" size=2>Window.Resources</font><font color="#0000ff" size=2>&gt;</p> <p>&lt;</font><font color="#a31515" size=2>Label</font><font color="#0000ff" size=2> </font><font color="#ff0000" size=2>Content</font><font color="#0000ff" size=2>=</font><font size=2>&quot;</font><font color="#0000ff" size=2>{Binding Source={StaticResource notifyingDate},Path=Now}</font><font size=2>&quot;</font><font color="#0000ff" size=2>/&gt;</p> <p>&lt;/</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2>&gt;</font></p></div></div> <p> </p></font> <p></p> <p><font color="#0000ff" size=2></p></font> <p> </p> <p>Thomas</p>Wed, 20 Jun 2007 08:50:38 Z2007-06-22T05:07:54Zhttp://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#a7dcfae7-189a-46f2-a234-5ca2059cbdb6http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/1d7a8305-d2f1-46c6-bc5c-4a68d05f21d7#a7dcfae7-189a-46f2-a234-5ca2059cbdb6Christian Feiningerhttp://social.msdn.microsoft.com/Profile/en-US/?user=Christian%20FeiningerActual Date and Time bind to a Label<p> Hello Thomas,</p> <p> </p> <p>yeah it works fine. Thanks. I just needed to change something a bit. Just if someone wants to use it later as well:</p> <p> </p><font color="#a31515" size=2> <p></font><font color="#0000ff" size=2> <div class=codeseg> <div class=codecontent> <div class=codesniptitle><span style="width:100%">Code Snippet</span></div> <p><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2>.</font><font color="#ff0000" size=2>Resources</font><font color="#0000ff" size=2>&gt;</font><font color="#a31515" size=2> </p> <p></font><font color="#0000ff" size=2>&lt;</font><font color="#a31515" size=2>ObjectDataProvider</font><font color="#ff0000" size=2> x</font><font color="#0000ff" size=2>:</font><font color="#ff0000" size=2>Key</font><font color="#0000ff" size=2>=&quot;notifyingDate&quot;</font><font color="#ff0000" size=2> ObjectType</font><font color="#0000ff" size=2>=&quot;{x:Type local:NotifyingDateTime}&quot;/&gt;</font><font color="#a31515" size=2> </p> <p></font><font color="#0000ff" size=2>&lt;/</font><font color="#a31515" size=2>Window</font><font color="#0000ff" size=2>.</font><font color="#ff0000" size=2>Resources</font><font color="#0000ff" size=2>&gt;</font></p></div></div> <p> </p></font> <p></p> <p><font color="#0000ff" size=2></p> <p>Thanks a lot.</p> <p> </p> <p>Cheers</p> <p> </p> <p>Chrsi</font></p>Wed, 20 Jun 2007 09:26:54 Z2007-06-20T09:26:54Z