我试图将日期时间设置为文本框,但这会产生异常:System.Windows.Data.Binding.Path'抛出异常。
如果我使用TextBlock,一切都很好。
任何帮助将不胜感激
谢谢
xmlns:sys="clr-namespace:System;assembly=mscorlib"
<TextBlock Name="block" Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='yyyy-MM-dd HH:mm:ss '}"/>
<TextBox Name="block1" Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='yyyy-MM-dd HH:mm:ss '}"/>
答案 0 :(得分:7)
当您将TextBox
中的绑定模式设置为OneWay
时,此方法正常工作:
<TextBox Grid.Row="1" Name="block1" Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='yyyy-MM-dd HH:mm:ss ',Mode=OneWay}"/>
这是因为TextBlock
中的默认绑定模式为OneWay
且TextBox
中的默认绑定模式为TwoWay
答案 1 :(得分:7)
此绑定使用TextBox,应该是您正在寻找的内容:
<TextBox HorizontalAlignment="Left" Height="23" Margin="0,260,0,0" Text="{Binding Source={x:Static sys:DateTime.Now}, Mode=OneWay, StringFormat='yyyy-MM-dd HH:mm:ss '}" VerticalAlignment="Top" Width="120"/>
结果: