編集:列挙型を使用してThorstens Answerに従ってコードを変更しましたが、機能しませんでした。
依存関係プロパティを使用して、作成中の WPF コントロールに影響を与えています。私は WPF を初めて使用するので、何が間違っているのかわからず、それを説明する適切な記事が見つかりません。
たとえば、Dep プロパティを介してコントロールの可視性を定義しようとしています。この場合、プロパティは次のようになります。
public static readonly DependencyProperty IconVisibilityBoldProperty =
DependencyProperty.Register("IconVisibilityBold", typeof(Visibility), typeof(RTFBox),
new PropertyMetadata(Visibility.Hidden), VisibilityValidateCallback);
private static bool VisibilityValidateCallback(object value)
{
Visibility prop = (Visibility) value;
if (prop == Visibility.Hidden || prop == Visibility.Visible)
{
return true;
}
return false;
}
public Visibility IconVisibilityBold
{
get
{
return (Visibility)GetValue(IconVisibilityBoldProperty);
}
set
{
SetValue(IconVisibilityBoldProperty, value);
}
}
編集:正しい XAML については、Slugarts の回答を探してください。この場合、ToggleButton の XAML エントリは次のようになります。
<ToggleButton Visibility="{Binding Path=IconVisibilityBold}" ToolBar.OverflowMode="Never" x:Name="ToolStripButtonBold" Command="EditingCommands.ToggleBold" ToolTip="Bold">
<Image Source="Images\Bold.png" Stretch="None"/>
</ToggleButton>
プロパティを出力しました。メタデータのデフォルト値が意味するように「非表示」と表示されますが、バインディングに何か問題があるようです。そこに何を書けばいいの?