2009-10-20 29 views
0

我有一個標籤列表框,每個標籤綁定到一個LabelName和LabelColor。我想添加一個類似於「X」的小按鈕並將其附加到標籤的右側。我希望它看起來無縫,就像X非常非侵入性一樣。任何想法如何做到這一點? <Label.ContentTemplate>之間的東西不起作用。我甚至不希望它看起來像一個可點擊的按鈕,只是一個「X」,你可以單擊它來觸發按鈕單擊事件。WPF把一個按鈕放在標籤上

<DataTemplate x:Key="LabelsListDataTemplate"> 
     <Border> 
      <StackPanel Orientation="Horizontal"> 
       <Label Margin ="3,5,3,5" BorderThickness="1" BorderBrush="Black" 
          Background="{Binding Path=DefaultColor}" 
          Content="{Binding Path=LabelName}"> 
        <Label.ContentTemplate> 
         <DataTemplate> 
          <Button Background="{Binding Path=DefaultColor}" Content="X" /> 
         </DataTemplate> 
        </Label.ContentTemplate> 
       </Label> 
      </StackPanel> 
     </Border> 
    </DataTemplate> 

回答

1

爲什麼要添加按鈕到controltemplate。檢查下面的代碼是否有效。

<DataTemplate x:Key="LabelsListDataTemplate"> 
    <Border> 
     <StackPanel Orientation="Horizontal"> 
      <Label Margin ="3,5,3,5" BorderThickness="1" BorderBrush="Black" 
         Background="{Binding Path=DefaultColor}" 
         Content="{Binding Path=LabelName}"/> 
       <Button Background="{Binding Path=DefaultColor}" Content="X" />    
     </StackPanel> 
    </Border> 
</DataTemplate> 
+0

我同意Jobi Joy。使用你的代碼,你實際上將標籤設置爲一個按鈕,而不是文本和按鈕。如果你想讓這個按鈕是非侵入性的,你將不得不改變它的ControlTemplate。 – user112889 2009-10-21 02:54:43

+0

謝謝我用下面的小調整來實現你的實現! – Shafique 2009-10-21 21:10:24

0

非常好,工作得很好。我調整它只是一點點得到的「X」按鈕,出現多了幾分紅暈和自然與標籤本身看,如下所示:

<DataTemplate x:Key="LabelsListDataTemplate"> 
    <Border> 
     <StackPanel Orientation="Horizontal"> 
      <Label Margin ="3,5,0,5" BorderThickness="1" BorderBrush="Black" Name="RowLabel" 
         Background="{Binding Path=DefaultColor}" 
         Content="{Binding Path=LabelName}"></Label> 
      <Button Background="{Binding Path=DefaultColor}" Content="X" Height="{Binding ElementName=RowLabel, Path=ActualHeight}" 
        Margin="0,5,3,5" /> 
     </StackPanel> 
    </Border> 
</DataTemplate> 

我基本上設置按鈕的高度的高度標籤。然後我做了一些保證金欺騙,讓他們看起來就在旁邊。謝謝您的幫助!

+0

我會建議在StackPanel的地方使用網格,那麼你不需要做ActualHeight elementBinding那裏 – 2009-10-22 00:37:00