Silverlight FilterControl-用户操作系统自定义控件?
我想在Silverlight中创建FilterControl: [标题][文本框][清除按钮] 我想将它创建为一个styleabel控件,具有clear按钮功能(我不想把它留给其他开发人员),并具有属性(标题、FilterText) 但据我所知,第一个是自定义控件,第二个和第三个是用户控件功能 有可能创造出这样的东西吗Silverlight FilterControl-用户操作系统自定义控件?,silverlight,user-controls,custom-controls,Silverlight,User Controls,Custom Controls,我想在Silverlight中创建FilterControl: [标题][文本框][清除按钮] 我想将它创建为一个styleabel控件,具有clear按钮功能(我不想把它留给其他开发人员),并具有属性(标题、FilterText) 但据我所知,第一个是自定义控件,第二个和第三个是用户控件功能 有可能创造出这样的东西吗 以下是CC的代码: <!-- Built-In Style for FilterControl --> <Style TargetType="Controls
以下是CC的代码:
<!-- Built-In Style for FilterControl -->
<Style TargetType="Controls:FilterControl">
<Setter Property="Template">
<Setter.Value>
<!-- ControlTemplate -->
<ControlTemplate TargetType="Controls:FilterControl">
<!-- Template's Root Visual -->
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="{TemplateBinding Height}"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<!--FilterCaption PART-->
<TextBlock x:Name="FilterCaptionTextBlock" Text="{TemplateBinding FilterCaption}" VerticalAlignment="Center" />
<!--FilterTextBox PART-->
<TextBox x:Name="FilterTextBox"
HorizontalAlignment="Center" Text="{Binding FilterText, Mode=TwoWay}" IsEnabled="{Binding IsEnabled}" VerticalAlignment="Center" />
<!--<TextBox x:Name="FilterTextBox"
HorizontalAlignment="Center" Text="{TemplateBinding FilterText}" IsEnabled="{Binding IsEnabled}" VerticalAlignment="Center" />-->
<!--ClearFilterTextButton PART-->
<Button x:Name="ClearFilterTextButton"
Content="X" IsEnabled="{TemplateBinding IsEnabled}" VerticalAlignment="Center" />
</StackPanel>
<!--VisualStateManager-->
<VisualStateManager.VisualStateGroups>
...
</VisualStateManager.VisualStateGroups>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
...
首先让我们明确任何
框架控件
包括用户控件
都可以设置样式,但是我怀疑您可能指的是替换控件模板的能力。需要自定义模板控件
你的问题的答案是:是的,当然是
您可以使用您喜欢的默认模板创建自定义模板控件
为标题和FilterText添加依赖项属性
使用TemplateBinding将标题和筛选文本关联到默认模板中的元素
您需要指定模板需要类型为TextBox
的TemplatePart
您可以编写代码来监视文本框中的更改,以便控件更新其筛选器属性。首先让我们清除任何
框架控件
,包括可以设置样式的用户控件
,但是我怀疑您可能指的是替换控件模板的能力。需要自定义模板控件
你的问题的答案是:是的,当然是
您可以使用您喜欢的默认模板创建自定义模板控件
为标题和FilterText添加依赖项属性
使用TemplateBinding将标题和筛选文本关联到默认模板中的元素
您需要指定模板需要类型为TextBox
的TemplatePart
您可以编写代码来监视文本框中的更改,以便控件更新其筛选器属性。很明显,我必须创建一个自定义控件。但是:1。“清除”按钮是怎么回事?因为UC中没有xaml,所以我无法访问该按钮,也无法向其添加eventhandler。2.双向绑定无法处理这些属性很明显,我必须创建一个自定义控件。但是:1。“清除”按钮是怎么回事?因为UC中没有xaml,所以我无法访问该按钮,也无法向其添加eventhandler。2.双向绑定无法处理这些属性