【发布时间】:2010-07-02 16:28:01
【问题描述】:
TextBox 应该显示某些访问权限的屏蔽美元金额。我创建了一个转换器类(继承自 IValueConverter),通过实现 convert 方法来处理屏蔽。
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
如果需要屏蔽,第三个参数为 true,否则为 false。
这样称呼:
CurrencyCOnverter converter = new CurrencyConverter();
this._textbox1.Text = converter.Convert(Amount, typeof(string), !this.IsSuperUser,
CurrentCulture).ToString();
我在 UI 上有大约 12 个文本框。我没有在 12 个地方这样做,而是在 Resource 字典中定义了 DataTemplates,如下所示:
<DataTemplate x:Key="MaskNormalBackgroundTbx">
<TextBlock TextAlignment="Right" VerticalAlignment="Center"
TextWrapping="WrapWithOverflow"
Text="{Binding "Amount"
Converter={StaticResource CurrencyDisplayConverter},
ConverterParameter=true}" />
</DataTemplate>
<DataTemplate x:Key="NoMaskNormalBackgroundTbx">
<TextBlock TextAlignment="Right" VerticalAlignment="Center"
TextWrapping="WrapWithOverflow"
Text="{Binding "Amount"
Converter={StaticResource CurrencyDisplayConverter},
ConverterParameter=false}" />
</DataTemplate>
我的问题:有没有一种方法可以通过创建自定义文本框来将此模板分配给文本框,就像我们为 ListBox 分配数据模板一样?
谢谢,
梅根。
【问题讨论】: