不相關的東西我是WPF的新手,但對視圖模型中的可觀察集合的綁定列表框控件非常熟悉。將ListBoxItem的內容綁定到與
在我當前的項目中,我們有一個ListBox,用於導航到框架框中的不同頁面。我想向第一個ListBoxItem添加一些顯示信息,以顯示哪些對象(在本例中爲場景)正在處理中(它在前一幀中被選中,在後續幀中可見)。 ListBox本身使用在xaml中定義的靜態列表,所以它不綁定到ViewModel中的任何東西。 CurrentScenario是ViewModel上的一個屬性。我能夠將Label添加到包含此ListBox的同一個窗口中,併成功將CurrentScenario.Id綁定到其內容,並正確更新,因此我知道Binding語句中的路徑應該正確解析。
<ListBox
Style="{StaticResource FunctionBackground}"
IsSynchronizedWithCurrentItem="True"
>
<ListBoxItem Style="{StaticResource FunctionListBoxItemStyle}">
<ListBoxItem.ContentTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="Scenario" />
<TextBlock Grid.Row="1" Text="{Binding Path=CurrentScenario.Id}"/>
</Grid>
</DataTemplate>
</ListBoxItem.ContentTemplate>
</ListBoxItem>
<ListBoxItem Style="{StaticResource FunctionListBoxItemStyle}" >Parameter</ListBoxItem>
<ListBoxItem Style="{StaticResource FunctionListBoxItemStyle}" >Run</ListBoxItem>
<ListBoxItem Style="{StaticResource FunctionListBoxItemStyle}" >Results</ListBoxItem>
</ListBox>
當我嘗試這個額外的信息添加到列表框中的項目,從我所知道的,列表框項目有字的文本塊下面的空文本塊「場景」。我無法弄清楚爲什麼空的文本框內容沒有顯示綁定屬性的值。當我在第二個文本塊的Text屬性中放置一個普通字符串時,它顯示正確。
我想,或者ListBoxItem內容只設置綁定到與ItemSource相關的屬性,所以它忽略嘗試綁定到其他東西,或者也許有一些基本的WPF,我失蹤。或者兩者都...
如果有人有任何想法,謝謝!
完全按照您的要求工作。謝謝! – user2004495
完全按照您的工作原理工作。謝謝! 還有一個問題,我是否需要放入這個額外的管道,因爲WPF需要額外的ListBoxItem方向,因爲我沒有以傳統方式使用它?我真的希望它按照我的方式工作,我只是想更好地理解它。 再次感謝! – user2004495