データ テンプレートに 2 つのコントロールが含まれています。コントロール #1 は、「TXTBLOCK」と呼ばれる TextBlock です。コントロール #2 は、「TXTBOX」と呼ばれる TextBox です。
TXTBLOCK では、Visibility がコンバーターを使用して TextBox Visibility に設定され、反対の値が得られます。
例:
<TextBlock Name="TXTBLOCK" Visibility="{Binding ElementName=**TXTBOX**, Path=Visibility, Converter={StaticResource toggleVisConverter}}" />
<TextBox Name="TXTBOX" Visibility="{Binding ElementName=**TXTBLOCK**, Path=Visibility, Converter={StaticResource toggleVisConverter}}" />
コンバーターは次のとおりです。
if (targetType == typeof(Visibility))
{
Visibility vis = (Visibility)value;
if (vis == Visibility.Collapsed)
{
return Visibility.Visible;
}
else
{
return Visibility.Collapsed;
}
//var vis == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed;
}
//return vis;
throw new InvalidOperationException("Value must be of type 'Visibility'.");
今...私にとって、これは簡単なはずです。一方の可視性を変更すると、他方の可視性が false に設定されます。
そうではありません...
初めて動作し、コンバーターの呼び出しが停止します。
コードビハインドで「TXTBOX.Visibility = Visibility.Hidden」と明示的に述べても、コンバーターが呼び出されることはありません。
何を与える?私は何が欠けていますか?
これは SO に関する私の最初の投稿です。喜んでやります
ありがとう!