C# Silverlight 5数据网格中具有祖先相对资源绑定的展开/折叠按钮
我发现了几篇关于在SL3和SL4中实现扩展/折叠的文章,它们实际上是缺少的“祖先相对资源绑定”的变通方法。所以现在SL5已经发布了,我想知道SL5是如何做到这一点的 以下是SL4的答案: 使用SL5,操作起来很简单:C# Silverlight 5数据网格中具有祖先相对资源绑定的展开/折叠按钮,c#,silverlight,data-binding,datagrid,silverlight-5.0,C#,Silverlight,Data Binding,Datagrid,Silverlight 5.0,我发现了几篇关于在SL3和SL4中实现扩展/折叠的文章,它们实际上是缺少的“祖先相对资源绑定”的变通方法。所以现在SL5已经发布了,我想知道SL5是如何做到这一点的 以下是SL4的答案: 使用SL5,操作起来很简单: <sdk:DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False" RowDetailsVisibilityMode="Collapsed"> <sdk:DataGr
<sdk:DataGrid ItemsSource="{Binding Items}"
AutoGenerateColumns="False"
RowDetailsVisibilityMode="Collapsed">
<sdk:DataGrid.Resources>
<SL5:VisibilityToBoolConverter x:Key="converter"/>
</sdk:DataGrid.Resources>
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ToggleButton Content="Expand"
IsChecked="{Binding Path=DetailsVisibility,
Mode=TwoWay,
RelativeSource={RelativeSource AncestorType=sdk:DataGridRow},
Converter={StaticResource converter}}"/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
public class VisibilityToBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
Visibility visibility = (Visibility)value;
return (visibility == Visibility.Visible);
}
public object ConvertBack(object value, Type targetType, object parameter,
CultureInfo culture)
{
bool visibility = (bool)value;
return visibility ? Visibility.Visible : Visibility.Collapsed;
}
}