Je veux créer un FilterControl dans Silverlight: [Légende] [TextBox] [bouton Effacer]FilterControl - Contrôle utilisateur personnalisé?
Je voudrais créer comme un contrôle styleabel, avec la fonctionnalité du bouton clair (je ne veux pas laissez-le aux autres développeurs), et avec les propriétés (Caption, FilterText). Mais pour autant que je sache et vois, le premier est un contrôle personnalisé, le deuxième et le troisième sont des capacités de contrôle de l'utilisateur.
Est-il possible de créer quelque chose, comme ça?
Voici le code du 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>
C'est clair, je dois créer un contrôle personnalisé. Mais: 1. Qu'y a-t-il avec le bouton Clear? Parce qu'il n'y a pas de xaml dans l'UC, donc je ne peux pas atteindre le bouton, et je ne peux pas y ajouter un eventhandler. 2. la liaison bidirectionnelle n'a pas fonctionné avec ces propriétés – Aaaaaaaa