Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Наш ресурс дает возможность бесплатно читать книгу онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю. Жанр: Базы данных . Сайт books-read.com дает возможность читать полную версию книги без регистрации и sms. Все книги онлайн, не надо качать fb2, epub, txt.
На заметку! Более подробные сведения о классе
UserControlПодобно окну типы
UserControlLabelGrid<UserControl x:Class="CustomDepProp.ShowNumberControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace: CustomDependencyProperty" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <Grid> <Label x:Name="numberDisplay" Height="50" Width="200" Background="LightBlue"/> </Grid></UserControl>В файле кода для данного элемента создайте обычное свойство .NET Core, которое упаковывает поле типа
intContentLabelpublic partial class ShowNumberControl : UserControl{ public ShowNumberControl() { InitializeComponent(); }<b> // Обычное свойство .NET Core.</b> private int _currNumber = 0; public int CurrentNumber { get => _currNumber; set { _currNumber = value; numberDisplay.Content = CurrentNumber.ToString(); } }}Обновите определение XAML в
MainWindow.xmlStackPanel<Window x:Class="CustomDepPropApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"<b> xmlns:myCtrls="clr-namespace: CustomDependencyProperty"</b> xmlns:local="clr-namespace: CustomDependencyProperty" mc:Ignorable="d"<b> Title="Simple Dependency Property App" Height="450" Width="450"</b> WindowStartupLocation="CenterScreen"><b> <StackPanel></b><b> <myCtrls:ShowNumberControl</b><b> HorizontalAlignment="Left" x:Name="myShowNumberCtrl" </b><b> CurrentNumber="100"/></b><b> </StackPanel></b></Window>Похоже, что визуальный конструктор Visual Studio корректно отображает значение, установленное в свойстве
CurrentNumber
Однако что, если к свойству
CurrentNumbermyCtrls:ShowNumberControl<myCtrls:ShowNumberControl x:Name="myShowNumberCtrl" CurrentNumber="100"> <myCtrls:ShowNumberControl.Triggers> <EventTrigger RoutedEvent = "myCtrls:ShowNumberControl.Loaded"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard TargetProperty = "CurrentNumber"> <Int32Animation From = "100" To = "200" Duration = "0:0:10"/> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </myCtrls:ShowNumberControl.Triggers></myCtrls:ShowNumberControl>