2012-01-28 1 views
0

いくつかのプログラムの開発中にいくつかの問題が発生しました。 1つ目は、リストボックスコントロールの '高さ'プロパティを、StackPanelの 'ActualHeight'にバインドしたことです。ここで私が持っているいくつかのXAMLコードです:リストボックスの高さのバインディングが正しく動作していないと画像コントロールの比例リサイズ

<ListBox Name="listQuotes" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
     Width="{Binding ElementName=stackPanelQuotes, Path=ActualWidth}" 
     Height="{Binding ElementName=stackPanelQuotes, Path=ActualHeight}" 
     ItemsSource="{Binding}" ItemTemplate="{StaticResource quotesFeedTemplate}" 
     Background="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
</ListBox> 

私はリストボックスの変更の私の窓、サイズを拡大していますが、私は再びそれを小さくするとき、リストボックス自体が戻って変更されない場合は、実際にも、スクロールバーが残っています同じ範囲... どうすればこの仕事を適切に行うことができますか?

第二のものは、私のプログラムは2つの部分から構成されていることである - 主要部(二colums内の2つのリストボックス)が窓をリサイズする必要がありながら、ヘッダと本体部 ヘッダは、静的なままでなければなりません。 I平均その幅は、ヘッダと本体部の両方に影響を与えるべきであり、高さは本体のみに影響を与えるべきである

標準ビュー

Normal view

破損図

のサイズを変更することによって

Corrupted view

そして3番目のこと。どのようにしてイメージをサイズ変更する(3:4と言うか)

答えて

2

高さと幅のバインディングを削除して、それらは自動である。

<Grid Name="Quotes"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="3*" /> 
     <ColumnDefinition Width="4*" /> 
    </Grid.ColumnDefinitions> 
    <ListBox Grid.Column="0" MinWidth="250" Name="listQuotes" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
       ItemsSource="{Binding QuotesList}" 
       Background="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
    </ListBox> 
    <ListBox Grid.Column ="1" MinWidth="250" Name="listQuotes2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
       ItemsSource="{Binding QuotesList}" 
       Background="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
    </ListBox> 
</Grid> 

あなたは、私が投稿Columnn定義でグリッドを使用することにより、必要な比例サイズを取得することができます。それらはあなたがサイズ変更するにつれて比例して滞在します。