Wie Trigger Click-Ereignis in der WPF-Benutzer control (Textfeld mit Knopf)?
Habe ich einen Benutzer Angelegt control für WPF-Wie Windows 8-Passwort-box-Modell.
Mein UserControl-XAML Code -
<Grid.Resources>
<Style x:Key="ButtonWithoutHover" TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border"
BorderThickness="0"
Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="Black" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Border BorderBrush="Black" BorderThickness="2" >
<DockPanel Canvas.Right="2" Canvas.Top="2">
<Button Style="{StaticResource ButtonWithoutHover}" Height="25" Width="20" BorderThickness="3" BorderBrush="White" DockPanel.Dock="Right" Background="CadetBlue" >
<Button.Content>
<Label Content="->" Foreground="White" />
</Button.Content>
</Button>
<TextBox Height="30" Width="180" FontSize="18" BorderThickness="0" Name="txtNumber" DockPanel.Dock="Left" >
</TextBox>
</DockPanel>
</Border>
Edit 1:
Habe ich auch diese Usercontrol in Meinem Projekt. Aber bei der Umsetzung UserControl in Wpf-Anwendungen gibt Es Kein Click-Ereignis für mein UserControl. Also ich hinzufügen Klicken Sie auf="UserControl1_Click" zu Xaml. Aber durch einen Fehler
Die Eigenschaft "Klicken" existiert nicht im XML-namespace
'clr-namespace:NumericTextbox;assembly=NumericTextbox'.
Meine Anwendung Xaml - Code, Der
<Window x:Class="NumericAppication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:NumText="clr-namespace:NumericTextbox;assembly=NumericTextbox"
Title="MainWindow" Height="350" Width="525">
<Grid>
<NumText:UserControl1 Width="120" Height="30" Click="UserControl1_Click" />
</Grid>
</Window>
- downvoted, da die Antwort abgeholt hat nichts mit der Frage zu tun. (Ich hätte besser sah eine andere Frage stellen, anstatt mit einer passenden Antwort)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wir haben die UserControl1.dann nachdem Sie die Click-Ereignis der UserControl1.Desginer.cs-Datei wird wie folgt Aussehen.
und in die UserControl1.cs-Datei wird in den body der Schaltfläche click-Ereignis
dieser kann Ihnen dabei helfen.Plz lass es mich wissen
Könnten Sie eine Abhängigkeitseigenschaft auf das Benutzersteuerelement, das Sie binden an das Click-Ereignis der Schaltfläche.
EDIT:
In Ihrem UserControl können Sie
dann in der XAML-Sie haben:
Obwohl ich glaube, dass es am besten ist, die Praxis zu verwenden ICommand anstelle der event-handler, aber das Prinzip ist das gleiche.
werden kann dies wird Ihnen helfen,
Können Sie erstellen ein Befehl ein Befehl bindend wie diese:
Erstellen RoutedUiCommand Befehl:
Dann in xaml
innerhalb der Methode
CommandBinding_ButtonClick
Sie machen der Logik.und schließlich fügen Sie den Befehl an der Schaltfläche:
Wenn Sie entwerfen Sie Ihre Benutzer Steuern, haben Sie versucht, diese auf deinem button?
(erinnern Sie sich zu wählen, dass die Vorlage Bearbeiten Ding)
https://i-msdn.sec.s-msft.com/dynimg/IC616903.png
p.s. wenn ich design, user-controls, die ich immer benutze lieber die Mischung.
Man konnte immer fügen Sie eine Command-Bindung zu Ihrem Taste.
So können Sie die link-Schaltfläche, um eine Methode und Kontrolle, wenn die Taste kann verwendet werden, zu.
Rachel bietet eine tolle Erklärung zu dieser Angelegenheit hier.