スライダーとボタンを持つ非常に単純な WPF アプリケーションがあります。クラスのプロパティの 1 つをスライダーの値にバインドし、ボタンがクリックされるたびにメッセージ ボックスに値を表示しようとしています。
Player クラスに BattingForm というプロパティがあります
<Window.Resources>
<local:Player x:Key="_batsman" x:Name="_batsman"
BattingForm="{Binding Path=Value, ElementName=Form}">
</local:Player>
</Window.Resources>
<Slider Maximum="1" LargeChange="0.25" Value="0.25" Name="Form"/>
そして、Player クラス内では、プロパティは次のようになります。
public double BattingForm
{
get { return (double)GetValue(BattingFormProperty); }
set { SetValue(BattingFormProperty, value); }
}
public static readonly DependencyProperty BattingFormProperty =
DependencyProperty.Register("BattingForm", typeof(double), typeof(Player));
そして、ボタンクリックイベント内のMainWindow.xaml.csで、次のようにアクセスしようとします-
Player batsman = FindResource("_batsman") as Player;
if(batsman!=null)
{
MessageBox.Show(batsman.BattingForm.ToString());
}
MessageBox には、Slider の実際の値ではなく、0 のみが表示されます。