1

を含む WPF ダイアログ ウィンドウで作業していますListBox。リスト ボックスには、「アイコン」ビューと「リスト」ビューの両方を表示できます。これを実現するため に、対応する のペアだけでなく、 にListBoxItemも動的に適用されるスタイルを使用しました。そのままでも美しく映えます。ただし、このダイアログをロードすると、次のような数十のバインド エラーが発生します。ListBoxItemsPanelTemplate

System.Windows.Data エラー: 4 : 参照 'RelativeSource FindAncestor、AncestorType='System.Windows.Controls.ItemsControl'、AncestorLevel='1'' でバインディングのソースが見つかりません。BindingExpression:Path=VerticalContentAlignment; DataItem=null; ターゲット要素は 'ListBoxItem' (Name='') です。ターゲット プロパティは 'VerticalContentAlignment' (タイプ 'VerticalAlignment') です

私たちの理論では、スタイルとテンプレートは の前に読み込まListBoxれ、次のようなコードを使用してバインドされているプロパティを見つけることができません。

<Setter Property="VerticalContentAlignment" Value="{Binding 
        Path=VerticalContentAlignment, RelativeSource={RelativeSource 
        AncestorType={x:Type ItemsControl}}}"/> 

ListBoxが初期化され、スタイルとテンプレートが適用される前に、これが 1 回以上発生するようです。ダイアログの初期化が完了すると、エラーは停止します。

誰もこれに遭遇したことがありますか?私たちが見落としているかもしれない解決策を誰か提案できますか?

4

2 に答える 2

0

これはここでカバーされたように見えます:

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/db050ce6-d084-41ad-9a31-c01831687683

「既知の」問題であると思われます。

于 2009-01-15T14:54:10.670 に答える
0

ここで修正を見つけました:

http://blog.jtango.net/2009/05/08/using-a-grid-as-the-itemspanel-for-a-listbox-in-wpf-binding-errors/

ItemContainerStyleを使用してスタイルを設定しListBoxます。

于 2010-07-01T21:01:20.423 に答える