2010-10-02 180 views
0

我有一個列表框誰從字典大小取值:WPF列表框綁定

這是大小類型:

public Dictionary<string, int> Size 
    { 
     get; 
     private set; 
    } 

這是我的列表框

<ListBox x:Name="boardSize" ItemsSource="{Binding Size}" ItemTemplate="{DynamicResource DataTemplate1}" /> 

這是我的關聯DataTemplate:

<Rectangle Margin="8,8,16,8" Stroke="Black" RadiusX="45" RadiusY="45"> 
<Rectangle.Fill> 
    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
    <GradientStop Color="Black" Offset="0"/> 
    <GradientStop Color="#FFE24A4A" Offset="1"/> 
    </LinearGradientBrush> 
</Rectangle.Fill> 
</Rectangle> 
<TextBlock x:Name="textBlock" **Text="{Binding path=Size}"**/> 

我有兩個問題:

  1. 在那裏我的推杆**我想要的文字塊的文本包含大小鍵值
  2. 我該怎麼辦命令模式當按下按鈕時?

回答

2

ItemTemplate內部,DataContext是從源收集的項目,所以在這種情況下,它是一個KeyValuePair<string, int>。所以鍵的路徑只是「鑰匙」:

<TextBlock x:Name="textBlock" Text="{Binding path=Key}"/> 

你的第二個問題不是很清楚,你想要做什麼?通常,在MVVM中使用綁定命令:綁定到由ViewModel公開的ICommand屬性。但在你的情況下,沒有ViewModel,因爲你的數據對象是一個KeyValuePair<string, int> ...如果你想得到更完整的答案,請給出更多細節

+0

夥伴你在哪裏一小時前:)我在http: //windowsclient.net/learn/video.aspx?v=30804 謝謝你... 關於我希望這個調用另一個網格的命令(我想做一個bord遊戲,這是我的主板尺寸...) 你可以在這裏找到更多信息:http://stackoverflow.com/questions/3846668/how-to-dynamicly-set-board-for-board-gamesize-using-xmal-in-wpf – 2010-10-02 20:19:30