我在输出DateTime值时遇到了一些麻烦.我的计算机目前的文化设置为de-AT(奥地利).
以下代码
string s1 = DateTime.Now.ToString("d");
string s2 = string.Format("{0:d}", DateTime.Now);
Run Code Online (Sandbox Code Playgroud)
结果s1和s2都具有正确的值"30.06.2009".
但是在XAML中使用相同的格式时
<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat=d}"/>
Run Code Online (Sandbox Code Playgroud)
输出是"6/30/2009".似乎XAML StringFormat忽略了当前的文化设置.这种情况发生在Vista和XP上.
我不想指定自定义格式,因为输出应该在用户首选的文化设置中格式化.
有同样问题的人吗?这是WPF中的错误吗?
我在文件系统的某个地方有一个程序集,例如"C:\ temp\test.dll".在那个程序集中有一个ResourceDictionary,例如"abc.xaml".
我怎样才能获得ResourceDictionary?也许有一种方法使用Reflections?到目前为止我没有找到解决方案.
提前致谢!
编辑:只是想添加我想要访问字典中的资源,例如样式.
我是DataBinding的新手,只是阅读它.我想做的是以下内容:
我有一个包含许多子控件的StackPanel:
<StackPanel Orientation="Horizontal">
<TextBox x:Name="textbox1" Width="100">1</TextBox>
<TextBox x:Name="textbox2" Width="100">2</TextBox>
<TextBox x:Name="textbox3" Width="100">3</TextBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
可以通过代码更改文本框的可见性属性.现在,如果所有TextBox都设置为Visibility = Collapsed,我还希望StackPanel.Visibility设置为Collapsed,但如果显示一个或多个TextBox(Visibility = Visible),则StackPanel.Visibility也应设置为Visible.
这可以通过简单的DataBinding实现,还是必须在C#代码中实现此功能?
我有一个ResourceDictionary只包含字符串键和字符串值.现在我想要一个具有相同内容的Dictionary <string,string>.
你会怎么做?什么是C#中最快的解决方案?
编辑:性能最快;)
我目前正在使用带标签界面的应用程序.我希望能够通过将选项卡拖动到窗口的一个边缘来水平或垂直分割工作区.
例如,打开两个选项卡:http://666kb.com/i/b65vvbusbxhvgy8mf.png
然后将一个标签拖到屏幕底部并将其放下.应出现第二个tabcontrol:http://666kb.com/i/b65vvjnd1ylz54jdz.png
如何在.NET 3.5中使用C#和WPF实现这一目标?
我认为Photoshop可以做到这一点,我也肯定还有许多其他应用程序.
假设我有一个带有Date列的表.在我的C#应用程序中,我希望能够使用DateTime列上的LIKE运算符查询行.我的问题是,我该如何处理区域设置?
例如,如果当前区域设置设置为de-DE,则窗口的日期格式为dd.mm.yyyy.现在,用户可能会输入%2009之类的内容,从而产生以下查询:
select * from MyTable where to_char(MyDateColumn, 'dd.MM.yyyy') like '%2009'
Run Code Online (Sandbox Code Playgroud)
但是使用不同的区域设置,用户的输入当然会有所不同,因此to_char不再起作用.
我该如何解决这个问题?哦,我正在寻找一个独立于数据库的解决方案.
提前谢谢了!