细心的手电筒 · 2021年2月18日外交部发言人华春莹主持例 ...· 1 月前 · |
不羁的鸵鸟 · 幸存的荀慧生故居|京味儿胡同_山西· 4 月前 · |
咆哮的梨子 · 沈阳将建“五环”线 ...· 12 月前 · |
小眼睛的充值卡 · 第三代CS75PLUS智电iDD预计4月底上 ...· 1 年前 · |
乖乖的骆驼 · 国家税务总局青岛市税务局· 1 年前 · |
默认情况下,当加载DataGrid时,ProductName将对数据进行排序。但是,网格视图的ProductName头将不会显示向上箭头图标。这对我来说是以编程方式触发图标吗?
XAML:
<DataGrid x:Name="GridProduct"
ItemsSource="{Binding Path=ProductResult}"
Style="{StaticResource defaultDataGridStyle}"
CellStyle="{StaticResource defaultCellStyle}"
ColumnHeaderStyle="{StaticResource defaultCellHeaderStyle}">
<DataGrid.Columns>
<DataGridTextColumn Header="Product Name" Binding="{Binding ProductName}" />
<DataGridTextColumn Header="Product Price" Binding="{Binding ProducPrice}"/>
</DataGrid.Columns>
</DataGrid>
风格:
<Style x:Key="defaultCellHeaderStyle" TargetType="DataGridColumnHeader" BasedOn="{StaticResource MetroDataGridColumnHeader}">
<Setter Property="FontSize" Value="16"></Setter>
<Setter Property="Command" Value="{Binding Path=DataContext.SortCommand, RelativeSource={RelativeSource AncestorType=DataGrid}}" />
<Setter Property="CommandParameter" Value="{Binding Path=Content, RelativeSource={RelativeSource Self}}"></Setter>
</Style>
<Style x:Key="defaultCellStyle" TargetType="DataGridCell" BasedOn="{StaticResource MetroDataGridCell}">
<Setter Property="FontSize" Value="16"></Setter>
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
<Setter Property="HorizontalAlignment" Value="Stretch"></Setter>
</Style>
MVVM:
public List<Product> ProductResult
_productResult = _productResult.OrderBy(x => x.Name).ToList();
return _productResult;
}
发布于 2018-05-14 13:34:31
将以下内容添加到
DataGridTextColumn
SortDirection="Ascending"
发布于 2019-02-01 10:49:27
如果要将有效排序与列上的视觉样式同步,这将有助于:
( (INotifyCollectionChanged)Items.SortDescriptions ).CollectionChanged += new NotifyCollectionChangedEventHandler( OnItemsSortDescriptionsChanged );
private void OnItemsSortDescriptionsChanged( object sender, NotifyCollectionChangedEventArgs e )
//Synchronize effective sorting in the grid and Visual style on columns
if ( Items != null )
foreach ( DataGridColumn column in Columns )
column.SortDirection = null;
foreach ( SortDescription sd in Items.SortDescriptions )
if ( column.SortMemberPath == sd.PropertyName )
column.SortDirection = sd.Direction;
不羁的鸵鸟 · 幸存的荀慧生故居|京味儿胡同_山西 4 月前 |
咆哮的梨子 · 沈阳将建“五环”线 四环快速路开启“加速模式”_腾讯新闻 12 月前 |
乖乖的骆驼 · 国家税务总局青岛市税务局 1 年前 |