这是我的第一个问题所以要小心:) 我正在尝试在xaml中绑定属性(a),前景色工作(所以datagrid单元格的ref是正确的),但背景不是,我试图理解为什么,如果我尝试为了调试我的属性,程序没有输入....
(a)=
public int CellGiorno1
{
get
{
int a = myfunctionexample(day, Username, month, year);
return a;
//return 0-1-2
}
}
(数据网格的列,如果返回的数字为1,我想为背景着色) DataGridTextColumn Header =“2”x:Name =“HeaderGG1”Binding = {Binding Desc_GG1}“CellStyle =”{StaticResource CellStyleGiorno}“/>
(the style with the trigger that color the foreground but not the background)
<Style x:Key="CellStyleGiorno" TargetType="DataGridCell">
<Setter Property="Foreground" Value="Red"/>
<Style.Triggers>
<DataTrigger Binding="{Binding CellGiorno1}" Value="1">
<Setter Property="Background" Value="Green"/>
</DataTrigger>
</Style.Triggers>
</Style>
答案 0 :(得分:1)
这里的第一个问题是你的get和set方法。看看这个结构:
class Name
{
private string _mynam = "";
public string mynam
{
set
{
_mynam = value;
}
get
{
return _mynam;
}
}
}
您没有set方法,而是在get方法中设置方法。
答案 1 :(得分:0)
该属性需要附加一个更改结构的通知才能启用绑定
通常使用INotifyPropertyChanged或DependencyProperty
来完成例如
public class myClass :INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void ChangeCell()
{
PropertyChanged(this,new PropertyChangedEventArgs("CellGiorno1")
}
public int CellGiorno1
{
get
{
int a = myfunctionexample(day, Username, month, year);
return a;
//return 0-1-2
}
}
}
所以在这种情况下,调用ChangeCell将通知所有连接到CellGiorno1的绑定,他们需要获取CellGiorno1的值,因为它已更改