、3つのTextblocksを含む単純な3列グリッドがあります。Silverlight:Silverlight 4アプリケーションでは、テキストブロックのMaxWidthを列幅を含むように設定します。
<Grid Background="{StaticResource BrushCharacteristicListBoxItemBackground}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="TextBlockCharacteristicName" Text="{Binding Property1}" HorizontalAlignment="Left" TextTrimming="WordEllipsis" ToolTipService.ToolTip="{Binding Text}" Margin="6,0,0,0" />
<TextBlock x:Name="TextBlockSeperator" Text="=" Grid.Column="1" />
<TextBlock x:Name="TextBlockCharacteristicValue" Text="{Binding Property3}" Grid.Column="2" HorizontalAlignment="Right" Margin="0,0,6,0" />
</Grid>
グリッドの幅は、含まれているユーザーコントロールによって異なります。今では、おそらくMaxSizeを使用して、グリッドの列のサイズに何とかバインドして、最初のテキストブロックと3番目のテキストブロックのサイズを、その列を含む現在のサイズに制限します。
ここに誰でもこの方法を教えてもらえますか?それは関係なく、その内容の、列の中の可能なサイズを記入しますので、事前に
おかげで、
フランク
これは私の考えでも、実際には私のTextBlock(TextBlockCharacteristicName)のHorizontalAlignementはleftに設定されています。それでも、TextBlockのサイズは列の幅に制約されませんが、テキストブロックのサイズに合わせて列の幅を押します。 – Aaginor
@Aaginor:私は、これらのグリッドをListBoxに表示していると思います。グリッドが配置されている要素を含めるには、内容のサイズを制限する必要があります。 ListBoxは内部的にコンテンツをScrollViewerに配置します。定義によってコンテンツの幅と高さに制約はありません。 – AnthonyWJones
ええ、あなたは正しく推測しています!私はそれが重要だとは思わなかった。だから、その場合のサイズの制約を達成するチャンスはありますか?私はMaxWidthを{Binding Grid.Column [0] .ActualWidth}のように設定することを考えましたが、実際の解決策は見つかりませんでした。 – Aaginor