一、简单的滑轮和text绑定
第一种:
<StackPanel>
<Slider Margin="5" x:Name="slider" Minimum="0" Maximum="1" />
<TextBox Margin="5" x:Name="textbox" Text="{Binding ElementName=slider ,Path=Value}" />
</StackPanel>
第二种:
xmal
<StackPanel>
<Slider Margin="5" x:Name="slider" Minimum="0" Maximum="1" ValueChanged="slider_ValueChanged"/>
<TextBox Margin="5" x:Name="textbox" TextChanged="button_TextChanged" />
</StackPanel>
xmal.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
textbox.Text = slider.Value.ToString();
}
private void button_TextChanged(object sender, TextChangedEventArgs e)
{
slider.Value = double.Parse(textbox.Text);
}
}
运行效果:
注意:使用mode属性可以实现单向绑定
<!--单次-->
<TextBox Margin="5" x:Name="textbox2" Text="{Binding ElementName=slider ,Path=Value,Mode=OneTime}" />
<!--双向-->
<TextBox Margin="5" x:Name="textbox3" Text="{Binding ElementName=slider ,Path=Value,Mode=TwoWay}" />
<!--反向-->
<TextBox Margin="5" x:Name="textbox4" Text="{Binding ElementName=slider ,Path=Value,Mode=OneWayToSource}" />
<!--单向-->
<TextBox Margin="5" x:Name="textbox5" Text="{Binding ElementName=slider ,Path=Value,Mode=OneWay}" />
二、ui与业务binding
xmal
<StackPanel>
<TextBox Margin="5" x:Name="textbox" Text="{Binding Name}" />
</StackPanel>
xmal.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.DataContext = new myclass() { Name = "张三" };
}
class myclass
{
public string Name { get; set; }
}
}