WPF自定义UserControl作为RadioToggleButton

时间:2011-02-15 17:00:26

标签: wpf user-controls datatemplate controltemplate

我创建了一个自定义UserControl,其功能类似于RadioButton,但看起来像一个Toggle Button。我遇到的唯一问题是能够设置UserControl的Content属性并将其显示在ToggleButton中。这是我尝试过的:

    <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>

当我尝试构建它时,我收到错误:“无法在类型'Control'上找到静态成员'ContentProperty'。”我整个早上都被挂在这上面,虽然我试图模仿一些例子,但迄今为止没有任何事情可以做到。有什么想法吗?

1 个答案:

答案 0 :(得分: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>