WPF:绑定到绑定模式
WPF: Binding to the Binding mode
在 WPF 中,我尝试使用数据绑定来定义 BindingMode。
<controls:BoolToStringConverter x:Key="BoolToStringConverter" FalseValue="OneWay" TrueValue="TwoWay" />
<TextBox Text="{Binding MyText, Mode="{Binding Path=IsWriteable, Converter={StaticResource BoolToStringConverter}}" />
此外,我尝试使用 System.Windows.Data.BindingMode 枚举作为 属性 "MyBindingMode" 的数据类型并绑定到此,但它也不起作用
<TextBox Text="{Binding MyText, Mode={Binding Path=MyBindingMode}}" />
是否有可能进行此类绑定或实现此绑定的适当方法是什么?
编辑:
实际上在我的上下文中它不是 TextBox,它是 DataGridTextColumn。我尝试绑定 IsReadOnly="{Binding IsOnlyReadable}"
但这对 DataGridTextColumn 没有影响。将其固定设置为 IsReadOnly=True
有效,但将其绑定到始终为真 属性 则没有此效果。
终于解决了,我将其用于 DataGridColumn 的绑定:
看看这个link。这似乎是你要找的东西:
.Net v4 DataGridTextColumn.IsReadOnly seems to be faulty
这是可能解决您的问题的代码:
<DataGridTextColumn>
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="UIElement.IsEnabled" Value="{Binding IsOnlyReadable}" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
在 WPF 中,我尝试使用数据绑定来定义 BindingMode。
<controls:BoolToStringConverter x:Key="BoolToStringConverter" FalseValue="OneWay" TrueValue="TwoWay" />
<TextBox Text="{Binding MyText, Mode="{Binding Path=IsWriteable, Converter={StaticResource BoolToStringConverter}}" />
此外,我尝试使用 System.Windows.Data.BindingMode 枚举作为 属性 "MyBindingMode" 的数据类型并绑定到此,但它也不起作用
<TextBox Text="{Binding MyText, Mode={Binding Path=MyBindingMode}}" />
是否有可能进行此类绑定或实现此绑定的适当方法是什么?
编辑:
实际上在我的上下文中它不是 TextBox,它是 DataGridTextColumn。我尝试绑定 IsReadOnly="{Binding IsOnlyReadable}"
但这对 DataGridTextColumn 没有影响。将其固定设置为 IsReadOnly=True
有效,但将其绑定到始终为真 属性 则没有此效果。
终于解决了,我将其用于 DataGridColumn 的绑定:
看看这个link。这似乎是你要找的东西: .Net v4 DataGridTextColumn.IsReadOnly seems to be faulty
这是可能解决您的问题的代码:
<DataGridTextColumn>
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="UIElement.IsEnabled" Value="{Binding IsOnlyReadable}" />
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>