2009-04-09 10 views
0

WPFtoolkitのDatagridを使用していて、RowDetailsTemplateの問題が発生しています。WPF DataGridDetailsTemplate拡張バグ

My RowDetailsTemplateには、2つのリッチテキストボックスとボタンがあります。私がしたいことは、ボタンのステイがウィンドウの右端にドッキングされ、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> 

答えて

0

はDetailsTemplateでDockPanel自体を中央にしようとしていたが、中央部が上下に行かなくなり計算されたされている何が起こるかが判明します。 Horizo​​ntalAlignment = "Left"に設定すると、問題が修正されました。私はまだ箱を埋めるために現在のサイズに比例してすべてのアイテムをサイズ変更する方法が好きですが、これまでの運はありません。

関連する問題