<RichTextBox Name="rb" Margin="0,0,0,00" Grid.Row="1" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto"></RichTextBox>
<
Paragraph
>
<
Run
Text={Binding}/>
</
Paragraph
>
WPF Step By Step 系列
https://www.cnblogs.com/joean/p/4787730.html
Prism 框架中使用IEventAggregator事件聚合器简单实现ViewModel之间的通讯
https://blog.csdn.net/yuligai100/article/details/74911805
http://www.cnblogs.com/scy251147/p/3407983.html
https://www.bbsmax.com/A/l1dyPjDn5e/
<DataGrid.Columns>
<DataGridTextColumn Header="检测项目" Binding="{Binding ItemName}" Width="*" />
<DataGridTemplateColumn Header="详细" Width="80" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button VerticalAlignment="Stretch" Style="{StaticResource NewDialogBtStyleG}" Height="{Binding ElementName=GridTest,Path=RowHeight}" Click="ItemClick" ></Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
<DataGridTemplateColumn Header="{DynamicResource __BACnetAddin__Label__Operator}" MinWidth="60">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox SelectedValue="{Binding Path=ExpressionOperator, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={StaticResource EqualOnlyOperatorItemsSourceKey}}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=PropertyName}" Value="PresentValue">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<ComboBox SelectedValue="{Binding Path=ExpressionOperator, UpdateSourceTrigger=PropertyChanged}"
ItemsSource="{Binding Source={StaticResource OperatorItemsSourceKey}}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGridTemplateColumn.CellStyle>
</DataGridTemplateColumn>
<?xml version="1.0" encoding="UTF-8"?> 最近做一个ListView的Style时,发现一个问题, 就是我的GridView的GridViewColumn的CellTemplate无论是用StaticResource还是DynamicResource,都是没有效果。
原因:GridViewColumn用了DisplayMemberBinding 使得CellTemplate失效。
解决办法: 去掉DisplayMemberBinding, 在CellTemplate的模板中指定Path路径。 比如:
<DataTemplate x:Key="GridViewHeaderTemplate1">
<StackPanel>
<TextBlock Text="{Binding Mode=OneWay}"/>
<TextBox TextWrapping="Wrap" Text="" MinWidth="25"/>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="StatusDataTemplate">
<CheckBox IsChecked="{Binding Status}"></CheckBox>
</DataTemplate>
<GridViewColumn HeaderTemplate="{StaticResource GridViewHeaderTemplate1}" CellTemplate="{StaticResource StatusDataTemplate}" Header="Status" />
如果你不想用CellTemplate指定Binding的path, 可以通过<GridViewColumn HeaderTemplate="{StaticResource GridViewHeaderTemplate1}" DisplayMemberBinding="{Binding Status}" Header="Status" />
---------------------
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding xxx}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
在DataGrid中使用模板列时,默认功能中对点击列标题是不对列值进行排序的,要排序就需要添加以下两个属性:
1、CanUserSort="True"
2、SortMemberPath="Area" //此处SortMemberPath属性的值是作为排序依据的数据成员
<DataGridTemplateColumn CanUserSort="True" SortMemberPath="Area" Header="产地" MinWidth="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Area}" VerticalAlignment="Center" >
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
DataGridTemplateColumn类型可让你通过指定要显示和编辑值时使用的单元格模板创建你自己的列类型。 若要指定用于显示未处于编辑模式的单元格内容的模板,请设置CellTemplate属性。 若要指定用于显示编辑模式下的单元格内容的模板,请设置CellEditingTemplate属性。 有关模板的详细信息,请参阅数据模板化概述并样式和模板化。
CanUserSort | 获取或设置一个值,该值指示用户能否通过单击列标题对列进行排序。 (Inherited from DataGridColumn) |
CellTemplate | 获取或设置要用于显示非编辑模式下的单元格内容的模板。 |
SortMemberPath | 获取或设置属性名称或用句点分隔的属性名称层次结构,它指示作为排序依据的成员。 (Inherited from DataGridColumn) |
http://www.cnblogs.com/oneivan/archive/2012/11/16/2772885.html