Blendで開くとエラーがあります的な感じになってしまって
表示できない場合がある。
これってなぜなんでしょう?
とりあえず、Styleをリソースに変換して設定すると回避できるっぽい。
<DataGrid x:Name="NameList" AutoGenerateColumns="False"
HorizontalAlignment="Left" Margin="10,10,0,0"
VerticalAlignment="Top" IsReadOnly="True">
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="Black"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="DarkGray"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</DataGrid>
こいつをこんな風に変えてみた。<Window.Resources>
<Style x:Key="DataListCellStyle" TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="Black"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="DarkGray"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<DataGrid x:Name="NameList" AutoGenerateColumns="False"
HorizontalAlignment="Left" Margin="10,10,0,0"
VerticalAlignment="Top"
ColumnHeaderStyle="{StaticResource DataListColumnHeaderStyle}"
CellStyle="{StaticResource DataListCellStyle}">
</DataGrid>
これで、Blendでも表示できるようになった。
おそらく、Blendのお作法を間違っているんだと思われるけれど、
明確な理由が不明。
なぜだー。。。
0 件のコメント:
コメントを投稿