カスタムの添付プロパティのプロパティにプロパティ(Button.Background)をバインドしようとしています。WPFがカスタムの添付プロパティを見つけられないようです。
私はC#ファイル
public static class Square
{
public static readonly DependencyProperty PlayerProperty =
DependencyProperty.RegisterAttached("Player", typeof(Player),
typeof(UIElement), new FrameworkPropertyMetadata(null));
public static Player GetPlayer(UIElement element)
{
return (Player)element.GetValue(PlayerProperty);
}
public static void SetPlayer(UIElement element, Player player)
{
element.SetValue(PlayerProperty, player);
}
// Other attached properties
}
では私のXAMLのスニペットが
<Grid Name="board" Grid.Row="1" Grid.Column="1">
<Grid.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="Height" Value="20" />
<Setter Property="Width" Value="20" />
<Setter Property="BorderThickness" Value="3" />
<Setter Property="Background"
Value="{Binding Path=(l:Square.Player).Brush, Mode=OneWay}" />
</Style>
</Grid.Resources>
</Grid>
これは私が取得エラーです:
は、文字列 を変換できません「(L :Square.Player).Brush 'in属性 ' Path to 'オブジェクトタイプ ' System.Windows.Prope rtyPath ' プロパティパスが無効です。 'Square' には、 'Player'という名前のパブリックプロパティがありません。 マークアップファイル内のオブジェクト 「System.Windows.Data.Binding」でのエラー 「Gobang.Gui;コンポーネント/ mainwindow.xaml」 ライン148ポジション59
しかし、プレーヤーがある添付プロパティであるため、 Square上では、上記のコードはうまくいくはずです。
また、私はeverythin
これは、Intellisenseのツールチップを読んでいないために得られるものです。拘束力はあまり働かない(バックグラウンドは変わらない)が、それは明日見ようとするばかげたことばかりだ。ありがとう、私はこれで多くの時間を無駄にしていた。 – Jamie