Я использую Datagrid из WPFtoolkit и столкнулся с проблемой с RowDetailsTemplate.
My RowDetailsTemplate содержит 3 элемента: 2 многофункциональных текстовых поля и кнопку. Я хотел бы, чтобы кнопка оставалась пристыкованной к правому краю окна, и два расширенных текстовых поля расширяются, чтобы заполнить оставшееся пространство. У меня проблема в том, что, если я закрепляю кнопку справа от окна, когда я увеличиваю окно, кнопка перемещается правильно и остается на внешнем крае, но если я сжимаю окно назад, оно не сжимается и сохраняет такой же интервал. Это приводит к тому, что он находится за окном и не виден. Это ожидаемое поведение? Если кто-нибудь знает обходной путь или решение для настройки всего шаблона сведений, как я описал, я был бы признателен за несколько советов.
Соответствующий код:
<toolkit:DataGrid.RowDetailsTemplate>
<DataTemplate>
<DockPanel Width="Auto">
<DockPanel DockPanel.Dock="Right">
<Button Height="50" Width="75" Margin="5 5 0 5" DockPanel.Dock="Right">
<Image Source="Resources/ArrowOutOfBox.bmp" />
</Button>
</DockPanel>
<StackPanel Margin="20 0 20 0" Orientation="Horizontal" HorizontalAlignment="Left" DockPanel.Dock="Left">
<StackPanel>
<ToolBar>
<ToggleButton MinWidth="20" Command="EditingCommands.ToggleBold" CommandTarget="{Binding ElementName=rtbNewComment}" TextBlock.FontWeight="Bold" Content="B" />
<ToggleButton MinWidth="20" Command="EditingCommands.ToggleItalic" CommandTarget="{Binding ElementName=rtbNewComment}" TextBlock.FontStyle="Italic" Content="I" />
<ToggleButton MinWidth="20" Command="EditingCommands.ToggleUnderline" CommandTarget="{Binding ElementName=rtbNewComment}">
<TextBlock TextDecorations="Underline">U</TextBlock>
</ToggleButton>
</ToolBar>
<RichTextBox
x:Name="rtbNewComment"
Height="100"
Margin="5 5 0 5"
FlowDirection="LeftToRight"
VerticalScrollBarVisibility="Auto"
IsReadOnly="False"
SpellCheck.IsEnabled="true"
>
</RichTextBox>
</StackPanel>
<StackPanel>
<RichTextBox
x:Name="rtbCommentHistory"
Height="125"
Margin="5 5 0 5"
FlowDirection="LeftToRight"
VerticalScrollBarVisibility="Auto"
IsReadOnly="True"
SpellCheck.IsEnabled="true"
>
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0" />
</Style>
</RichTextBox.Resources>
</RichTextBox>
</StackPanel>
</StackPanel>
</DockPanel>
</DataTemplate>
</toolkit:DataGrid.RowDetailsTemplate>