请教,WPF中如何使用数组绑定界面元素(多个Text)?
现状:
1、在界面中进行了绑定
<TextBox Margin="0,386,694,0" Name="AValveText1" Text="{Binding Path=ValAO[1]}" Style="{StaticResource TextBlockAValve}" Width="33" IsReadOnly="True" TextChanged="AValveText_TextChanged" />
2、绑定用的变量单独建了一个类
class WpfVarDr:INotifyPropertyChanged
{
private int[] valAO = new int[10] { 20, 30, 0, 0, 0, 0, 0, 0, 0, 0 };
public int[] ValAO
{
set
{
valAO = value;
NotifyPropertyChanged("valAO");
}
get { return valAO; }
} public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string propertyName)
{
if (propertyName != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
3、问题:实时改变变量时,界面(text)不能做出响应。
现状:
1、在界面中进行了绑定
<TextBox Margin="0,386,694,0" Name="AValveText1" Text="{Binding Path=ValAO[1]}" Style="{StaticResource TextBlockAValve}" Width="33" IsReadOnly="True" TextChanged="AValveText_TextChanged" />
2、绑定用的变量单独建了一个类
class WpfVarDr:INotifyPropertyChanged
{
private int[] valAO = new int[10] { 20, 30, 0, 0, 0, 0, 0, 0, 0, 0 };
public int[] ValAO
{
set
{
valAO = value;
NotifyPropertyChanged("valAO");
}
get { return valAO; }
} public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(string propertyName)
{
if (propertyName != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
3、问题:实时改变变量时,界面(text)不能做出响应。
解决方案 »
- gridview设置了数据源显示不了数据
- 急等..... 没有可用于当前位置的源代码
- ------------------------两个数相加---------------------
- 求教高手!!
- BringToFront不好用,求MSDN未公开的API
- System.Timers.Timer 为什么不响应了
- 请问一个字符串处理(可能要用正则)问题
- C#网络编程问题
- 为什么pictureBox有时显示有时不显示
- c#也有象java那样丰富的api可以用吗?有没有collection framework?
- Datatable列 怎么绑定到bandedGridView 大神求解 谢谢
- 使用C#开发opc client时 additem出现异常求大神
我觉得应该是数组的用法不对,如果这里全都用单一变量就没有问题。
为了防止字符串写错,可以使用nameof
NotifyPropertyChanged(nameof(ValAO));