2014-06-12 29 views
0

我有一個字典,其中的鍵和值都是字符串類型。將字典的值綁定到silverlight中的元素工具提示

鍵存儲UI元素的名稱,值存儲該元素的工具提示。

代碼:

static Dictionary<string, string> tooltips = new Dictionary<string, string>(); 
tooltips.Add("Add", "Adds the digits"); 
tooltips.Add("Multiply", "Multiply the digits"); 
tooltips.Add("Divide", "Divide the digits"); 

這本詞典是包含在一個靜態類。

我想將此字典綁定到包含按鈕的xaml頁面。任何人都可以告訴我如何將工具提示綁定到xaml中的指定元素?

+0

是什麼鍵和值嗎? – Sajeetharan

+0

鍵是元素的名稱。例如,按鈕的名稱是「添加」,值代表要應用於該元素的工具提示,如「添加數字」。 – user2091061

回答

1

這是解決方案。

您需要添加一個按鈕,裏面的TextBlock顯示工具提示,讓您的XAML看起來像這樣,

<Grid x:Name="LayoutRoot" Background="White"> 
    <Button Content="Button" HorizontalAlignment="Left" Margin="230,64,0,0" VerticalAlignment="Top" Name="btnAdd" Width="75"> 
     <ToolTipService.ToolTip> 
      <ToolTip> 
       <TextBlock x:Name="Add"></TextBlock> 
      </ToolTip> 
     </ToolTipService.ToolTip> 
    </Button> 
    <Button Content="Button" HorizontalAlignment="Left" Margin="230,118,0,0" VerticalAlignment="Top" Name="btnMultiply" Width="75"> 
     <ToolTipService.ToolTip> 
      <ToolTip > 
       <TextBlock Name="Multiply"></TextBlock> 
      </ToolTip> 
     </ToolTipService.ToolTip> 
    </Button> 
    <Button Content="Button" HorizontalAlignment="Left" Margin="230,91,0,0" VerticalAlignment="Top" Name="btnDivide" Width="75"> 
     <ToolTipService.ToolTip> 
      <ToolTip > 
       <TextBlock Name="Divide"></TextBlock> 
      </ToolTip> 
     </ToolTipService.ToolTip> 
    </Button> 
</Grid> 

這裏顯示工具提示

 tooltips.Add("Add", "Adds the digits"); 
     tooltips.Add("Multiply", "Multiply the digits"); 
     tooltips.Add("Divide", "Divide the digits"); 
     foreach (KeyValuePair<string, string> name in tooltips) 
     { 
      TextBlock tt = LayoutRoot.FindName(name.Key.ToString()) as TextBlock; 
      tt.Text = name.Value.ToString(); 
     } 
     foreach (KeyValuePair<string, string> name in tooltips) 
     { 
     TextBlock tt = LayoutRoot.FindName(name.Key.ToString()) as TextBlock; 
     tt.Text = name.Value.ToString(); 
     } 
+0

謝謝......它完全符合我的需要.. !!! – user2091061

+0

問題是如何實現綁定,而不是在後面執行此代碼。 –

相關問題