我有一個非常簡單的WPF應用程序,它有一個滑塊和一個按鈕。 我試圖將我的類中的一個屬性綁定到滑塊的值,並在單擊按鈕時在消息框中顯示值。無法綁定依賴項屬性
我有一個名爲BattingForm財產在我的Player類
<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"/>
和播放器類中,屬性如下。
public double BattingForm
{
get { return (double)GetValue(BattingFormProperty); }
set { SetValue(BattingFormProperty, value); }
}
public static readonly DependencyProperty BattingFormProperty =
DependencyProperty.Register("BattingForm", typeof(double), typeof(Player));
而在ButtonClick事件裏面MainWindow.xaml.cs,我嘗試如下訪問它 -
Player batsman = FindResource("_batsman") as Player;
if(batsman!=null)
{
MessageBox.Show(batsman.BattingForm.ToString());
}
在MessageBox只顯示0,而不是滑塊的實際值。
爲什麼宣佈你的'Player'控制作爲一種資源,而不是作爲你窗戶的一部分? –
@AdiLester Player不是一個控件,它只是一個具有屬性的類。 –
在這種情況下,您爲什麼需要使用XAML?你可以簡單地通過'Form.Value'從代碼隱藏中訪問滑塊的值。 –