【发布时间】:2018-05-24 01:13:24
【问题描述】:
我如何使用 MVVM 模式解决这个问题,我正在使用 Devexpress MVVM。我的表单中有很多文本框。
当用户按下Ctrl+B并且文本框的当前文本为null或""时,我需要将文本框文本设置为“[空白]”
但如果可能的话,我正在寻找一种使用IValueConverter 的方法
我有一个类似的课程
public class BlankText : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (string.IsNullOrEmpty(value.ToString()))
return "[blank]";
else
return value;
}
}
我在资源中有这段代码
<UserControl.Resources>
<c:BlankText x:Key="BlankText"/>
</UserControl.Resources>
这是我的文本框
<TextBox Text="{Binding District}" >
<TextBox.InputBindings>
<KeyBinding Gesture="Ctrl+B">
</KeyBinding>
</TextBox.InputBindings>
</TextBox>
但我的问题是如何在按键上调用它?我做得对吗?
【问题讨论】:
标签: c# wpf key-bindings ivalueconverter