ここでは、DataGridを放棄して代わりにListViewを使用し、ListView内で独自のデザインのUserControlを表示することをお勧めします。私は、私が構築したアプリケーションのために何か類似したことをしました
ListViewのXAMLでは、ItemContainerStyleを設定し、カスタムUserControl(グリッドを使用して行/列とそのスパンを設定できる)を表示することができます。それは基本的に次のようになります。
<ListView
Name="_listView"
Grid.Row="0" Grid.Column="0"
SelectionMode="Single"
IsSynchronizedWithCurrentItem="True"
SelectedItem="{Binding SelectedAgent, Mode=TwoWay}"
ItemsSource="{Binding Agents, Mode=OneWay}"
GridViewColumnHeader.Click="ListView_Click"
DependencyProperties:ListBoxClickCommand.ClickCommand="{Binding ShowAgentDetailsCommand}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Border
Name="_border"
Padding="2"
CornerRadius="5"
SnapsToDevicePixels="true"
Background="Transparent">
<Controls:AgentStateControl></Controls:AgentStateControl>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="_border" Property="Background" Value="CornflowerBlue" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
AgentStateControlは私のカスタムコントロールであり、それは2つの行を持って、第二の列に大きなスパンを持っています。必要に応じてそのコントロールを作成することができます。
ありがとうございます。私はグリッドがこのようなスタイルをサポートしていないと確信していました。 –