作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有带数据网格的 RowStyleSelector。它在窗口加载时被正确调用。在我调用 PropertyChange 时更改行时它不会被调用。
<DataGrid Grid.Row="2" ColumnWidth="*" ItemsSource="{Binding TraceItemCollectionViewSource , Mode=TwoWay , UpdateSourceTrigger=PropertyChanged}" EnableRowVirtualization="false" RowStyleSelector="{StaticResource TraceRowStyleSelector}" IsReadOnly="True" Name="TraceDataGrid" Margin="5,5,5,5" Padding="5,5,5,5" AutoGenerateColumns="False">
这是我的模型:
public class TraceDataItem : ObservableObject
{
private string _newReelId;
public string NewReelId
{
get { return _newReelId; }
set
{
if (value != _newReelId)
{
_newReelId = value;
RaisePropertyChanged("NewReelId");
}
}
}
}
如何在调用 PropertyChanged("NewReelId")
时调用 RowStyleSelector
。
谢谢。
最佳答案
StyleSelector
不监听 PropertyChange
通知。但是,您可以改用基于 bool 属性的 DataTrigger
:
bool _reelIdChanged;
public bool ReelIdChanged
{
get { return _reelIdChanged; }
set
{
_reelIdChanged = value;
RaisePropertyChanged("ReelIdChanged");
}
}
private string _newReelId;
public string NewReelId
{
get { return _newReelId; }
set
{
if (value != _newReelId)
{
_newReelId = value;
ReelIdChanged = true;
RaisePropertyChanged("NewReelId");
}
else
ReelIdChanged = false;
}
}
XAML:
<Window.Resources>
<Style TargetType="DataGridRow" x:Key="TraceRowStyle">
<Setter Property="Background" Value="{DynamicResource DataBackground}" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ReelIdChanged }" Value="True">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
...
<DataGrid Grid.Row="0"
ColumnWidth="*"
ItemsSource="{Binding TraceItemCollectionViewSource , Mode=TwoWay , UpdateSourceTrigger=PropertyChanged}"
EnableRowVirtualization="false"
RowStyle="{StaticResource TraceRowStyle}"
IsReadOnly="True"
Name="TraceDataGrid"
Margin="5,5,5,5"
Padding="5,5,5,5"
AutoGenerateColumns="False"/>
关于c# - 如何在一行的 PropertyChanges 上调用 StyleSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30827577/
我需要根据数据中的值更改按钮的样式。看起来 StyleSelector 可以完美地工作,但似乎没有办法为按钮设置一个。 有没有办法从数据动态设置按钮样式?甚至可能是纯 XAML 方法? 最佳答案 完成
我正在尝试使用ItemContainerStyleSelector根据定义行的对象的类型在数据网格中显示不同的行样式(ItemsSource是IGridItem的集合,有GridItem和GridSe
我在 XAML 中创建了一个样式,如何在样式选择器(代码)中返回这个样式? 我在 XAML 中创建了样式,我只想返回在 XAML 中声明的样式。 最佳答案 您可以将属性添加到您的 StyleSelec
我有带数据网格的 RowStyleSelector。它在窗口加载时被正确调用。在我调用 PropertyChange 时更改行时它不会被调用。 这是我的模型: public class TraceD
我是一名优秀的程序员,十分优秀!