2009-06-01 20 views

答えて

2

WPFは利用可能な領域を子コントロールのMeasure()関数に自動的に渡して、利用可能なスペースに合わせてサイズを調整するので、私が知っていることを直接行う方法はありません。

コンテンツは垂直方向に永久にスクロールできるため、デフォルトでは垂直方向が無限に渡されることに注意してください。スクロールバーの視認性を垂直方向と水平方向の両方で変更して、無限遠を垂直方向、水平方向、またはその両方に渡すかどうかに影響を与えることができます。

子供が実際に純粋なXAMLでレイアウトする必要がどのように制御するか広い考え出すの最良の方法は、空のコントロールを作成することです - 、例えば空のグリッドを - と、そのActualWidthプロパティにバインド:

<ScrollViewer> 
    <StackPanel> 
     <Grid x:Name="MeasureGrid"/> 
     <TextBox Text="{Binding ElementName=MeasureGrid, Path=ActualWidth}"/> 
    </StackPanel> 
</ScrollViewer> 

実際にコントロールに使用できる幅を表示するだけでなく、XAMLではこの情報を他の用途に使用することはできません。私が考えることができる他のすべてのシナリオでは、この情報を暗黙的に使用できます。あなたが達成しようとしていることについて、より多くの情報を教えていただけますか?

+0

問題は、TabItemがTabControlの空き領域をすべて取らないということです(何か不足している場合を除きます)。だから私は、タブコントロールの幅に要素を拡張している、私は今scrollviewerを配置する必要がありますが、私は要素を与えるために幅を把握することはできません。 – grizzley

+0

デフォルトでは、TabItemの内容は空き容量を満たす必要があります。意図せずHorizo​​ntal/VerticalAlignmentプロパティを設定していますか? – YotaXP

+0

おそらく?ここではボタンがTabItem空間を満たさない単純なxamlがあります。 <のTabItemのヘッダー= "テスト"> DockPanelスニペットは、空白のプロジェクトで正常に動作します grizzley

関連する問題