次の XAML を含む UserControl があります。
<GroupBox>
<Grid>
<Button x:Name="btn" Content="Test"/>
<TextBlock x:Name="txt" Visibility="Collapsed"/>
</Grid>
</GroupBox>
次のコードを使用して、列挙型の DependencyProperty を追加しました。
public static readonly DependencyProperty DisplayTypeProperty = DependencyProperty.Register("DisplayType", typeof(DisplayTypeEnum), typeof(myUserControl), new PropertyMetadata(default(DisplayTypeEnum.Normal)));
public DisplayTypeEnum DisplayType
{
get
{
return (DisplayTypeEnum)this.Dispatcher.Invoke(DispatcherPriority.Background, (DispatcherOperationCallback)delegate
{ return GetValue(DisplayTypeProperty); }, DisplayTypeProperty);
}
set
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Background, (SendOrPostCallback)delegate
{ SetValue(DisplayTypeProperty, value); }, value);
}
}
ここで、DependencyProperty に基づいて両方のコントロールの可視性を設定できるようにしたいと考えています。
すでに次のトリガーを追加しようとしましたが、3 つのエラーが発生します。
<UserControl.Triggers>
<Trigger Property="DisplayType" Value="Text">
<Setter Property="Visibility" TargetName="btn" Value="Collapsed"/>
<Setter Property="Visibility" TargetName="txt" Value="Visible"/>
</Trigger>
</UserControl.Triggers>
最初のエラーは、メンバー "DisplayType" が認識されていないか、アクセスできないことを示しています。他の 2 つは、コントロール (txt と btn) が認識されていないことを示しています。私は何を間違っていますか?
前もって感謝します!