绑定按钮wpf中的内容值
本文关键字:按钮 wpf 绑定 | 更新日期: 2023-09-27 18:11:13
我是Wpf的新手。基本上我实现了按钮内容值的动态变化。这是我的代码。
xaml:<Button x:Name="btnTest" Content="NO" HorizontalAlignment="Left"VerticalAlignment="Top" Width="233" Height="40" Click="btnTest_Click" />
Cs文件:
private void btnTest_Click(object sender, RoutedEventArgs e)
{
if (btnTest.Content.ToString() == "NO")
{
btnTest.Content = "YES";
}
else if (btnTest.Content.ToString() == "YES")
{
btnTest.Content = "NO";
}
}
如何在"绑定"逻辑中实现相同的功能。
xaml: <Button x:Name="btnTest" Content="{Binding ???}" HorizontalAlignment="Left"VerticalAlignment="Top" Width="233" Height="40" Click="btnTest_Click" />
有人能帮忙吗?
就像这样:
Content="{Binding XXX, Mode=TwoWay, ValidatesOnDataErrors=True}"
这将从DataContext
获取值(在本例中为Content
)。
A)创建数据上下文(代码隐藏版本):
this.DataContext = new SomeViewModel();
你可以把它放在你的构造函数中(在control/form/whatever)…
B)最后SomeViewModel
只是一个类:
public class SomeViewModel : IDataErrorInfo // sample interface
{
private string _xxx;
public string IP
{
get { return _xxx; }
set { _xxx = value; }
}
}
你可以试试这个
Content= "{Binding RelativeSource={RelativeSource Self}, Path=YNText, Mode=OneWay}"
并将其添加到
后面的代码中public string YNText {
get
{
_switch = !_switch;
return _switch ? "YES" : "NO";
}
}
private bool _switch;