0
スタイルを使用してコードを整理し、MVVMへの切り替えをよりよく準備するために、以前構築したフォームを更新しようとしています。チェックボックスがオンになるまで、列を読み取り専用にするロジックがあります。WPFスタイルでデータグリッド列を無効にする
チェックボックス自体にバインドしようとしましたが、チェックボックスが見つからないというバインディングエラーが表示されました。
IsReadOnly="{Binding ElementName=ckbPerUnitType, Path=IsChecked, Converter={StaticResource BoolInv}, ConverterParameter=True}"
私は、チェックボックスがバインドされている親のユーザーコントロールのデータコンテキストにバインドしようとしました。バインディング参照のソースが見つからないというエラーが表示されました。
IsReadOnly="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType=UserControl}, Path=DataContext.RentAdj.blnIsDifferentForType, Converter={StaticResource BoolInv}, ConverterParameter=True}"
私には何が欠けているのか分かりません。ここで
がConverterは異なる問題を調査では、両方の
<ValueConversion(GetType(Boolean), GetType(Boolean))> _
Public Class BooleanInverseConverter
Implements IValueConverter
''' <summary>
''' Converter to Compare the Inverse of a Boolean
''' </summary>
''' <param name="value">Boolean you wish to compare</param>
''' <param name="targetType"></param>
''' <param name="parameter">Boolean to determine if the value needs to be inverted</param>
''' <param name="culture"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function Convert(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
Dim v As Boolean = DirectCast(value, Boolean)
If CBool(parameter) = True Then v = Not v
Return v
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New Exception("Not Implemented")
End Function
End Class