2011-02-15 78 views
2

我创建了一个自定义的UserControl,其功能类似于RadioButton,但看起来像一个切换按钮。我遇到的唯一问题是能够设置UserControl的Content属性并使其显示在ToggleButton中。以下是我已经试过:作为RadioToggleButton的WPF自定义用户控件

<UserControl.ContentTemplate> 
     <DataTemplate> 
      <RadioButton> 
       <RadioButton.Template> 
        <ControlTemplate> 
         <ToggleButton IsChecked="{Binding IsSelected, Mode=TwoWay, 
           RelativeSource={RelativeSource TemplatedParent}}" 
             Content="{TemplateBinding Content}"/> 
        </ControlTemplate> 
       </RadioButton.Template> 
      </RadioButton> 
     </DataTemplate> 
    </UserControl.ContentTemplate> 

当我尝试建立这个,我得到的错误:“找不到静态成员的类型‘控制’ContentProperty'。”整个上午我都挂了电话,虽然我试图模仿一些例子,但迄今为止没有任何事情可以做到。有任何想法吗?

回答

1

明白了:

<UserControl.ContentTemplate> 
    <DataTemplate> 
     <RadioButton Content="{TemplateBinding UserControl.Content}"> 
      <RadioButton.Template> 
       <ControlTemplate> 
        <ToggleButton IsChecked="{Binding IsSelected, Mode=TwoWay, 
          RelativeSource={RelativeSource TemplatedParent}}" 
            Content="{TemplateBinding UserControl.Content}"/> 
       </ControlTemplate> 
      </RadioButton.Template> 
     </RadioButton> 
    </DataTemplate> 
</UserControl.ContentTemplate> 
+0

另一种方法是使用`您`DataTemplate` TargetType`属性。 – 2011-02-15 18:13:14