假设我有一个组合框,其中项目绑定到一个字符串数组.我想使用ItemStringFormat以大写形式显示这些字符串.我怎么做?
更新:我对格式化字符串并不是完全无能为力,但我在MSDN上搜索了一个格式说明符,它将字符串转换为大写,但由于某种原因我找不到它!我原以为它会像"{0:U}"或"{0:S}"之类的东西.
我也无法相信我无法在这里找到答案.
对不起,这是不可能的.然而,实现你DataTemplate的价值转换器很简单.
例
<UserControl.Resources>
<converters:StringToUpperCaseConverter x:Key="ToUpperConverter"/>
</UserControl.Resources>
<ComboBox ItemsSource={Binding YourCollection}>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text={Binding Path=YourValue, Converter="{StaticResource ToUpperConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox>
Run Code Online (Sandbox Code Playgroud)
变流器
public class StringToUpperCaseConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((string)value).ToUpper();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
}
}
Run Code Online (Sandbox Code Playgroud)
在互联网和任何 WPF书籍中,有很多关于这两个主题的信息.
| 归档时间: |
|
| 查看次数: |
4361 次 |
| 最近记录: |