建置一個Label,再建置一個Slider當作輸入源。
XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label x:Name="Label1"
Content="Label1"
Grid.Row="0"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="36"/>
<Slider x:Name="Slider1"
Grid.Column="1"
HorizontalAlignment="Center"
Grid.Row="1"
VerticalAlignment="Center"
Width="200"
ValueChanged="Slider1_ValueChanged" SmallChange="1" Maximum="100"/>
</Grid>
WPF的DataBinding分兩種,一種是寫code,一種是寫在XAML,
最大的差異是XAML能即時預覽,使用code的只能在執行後才看得出效果。
使用Code:
public MainWindow()
{
InitializeComponent();
Label1.SetBinding(ContentProperty, new Binding("Value") { Source = Slider1 });
//欲綁定的物件.SetBinding(欲綁定的屬性, new Binding(目標的屬性名稱){Source = 目標物件});
//PS.欲綁定的屬性必須是DependencyProperty(命名規則=>屬性+Property)
//Binding物件有兩個建構式,另一個用法如下
//Label1.SetBinding(ContentProperty, new Binding() { Source = Slider1, Path = new PropertyPath("Value") });
}
使用XAML:
<Label x:Name="Label1"
Content="{Binding ElementName=Slider1, Path=Value}"
Grid.Row="0"
Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="36"/>
//欲綁定的屬性="{Binding ElementName=現有的物件, Path=物件上的屬性}"
沒有留言:
張貼留言