Как создать пользовательский элемент управления, например текстовое поле? Например, когда я изменяю свойство Text элемента управления Textbox, новый текст появляется в окне, в котором я сейчас работаю.Прикрепите свойство usercontrol и обновите его во время разработки
В моем проекте у меня есть много мест, где пользователь должен вводить информацию, поэтому я хочу создать пользовательский элемент управления InputField. (Что UserControl содержит метку в текстовом поле с пользовательским стилем)
Вот XAML для моего пользовательского элемента управления:
<UserControl x:Class="PDV.UserControls.InputField"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" >
<Grid>
<StackPanel>
<Label Content="{Binding Path=LblContent}" HorizontalAlignment="Left" VerticalAlignment="Top" />
<TextBox Height="23" Margin="5,-5,2,2" Name="textBox1" VerticalAlignment="Top" />
</StackPanel>
</Grid>
</UserControl>
и код позади для этого пользовательского элемента управления:
namespace PDV.UserControls
{
public partial class InputField : UserControl
{
public static DependencyProperty MessageProperty = DependencyProperty.Register(
"LblContent", typeof(string), typeof(UserControl));
public string LblContent{
get{
return (string)GetValue(MessageProperty);
}
set{
SetValue(MessageProperty, value);
}
}
//Constructor
public InputField(){
InitializeComponent();
this.DataContext = this;
}
}
}
поэтому в моем главном окне я смогу использовать этот пользовательский контроль:
1) импортируя пространство имен, в котором находится этот пользовательский элемент управления:
xmlns:myCtrl ="clr-namespace:PDV.UserControls"
2) размещения, что контроль в этом окне:
<myCtrl:InputField LblContent="hello" Margin="0,0,483,0" Height="49" VerticalAlignment="Top"></myCtrl:InputField>
Что я должен сделать так, чтобы, когда я обновляю LblContent="hello"
это оказывает на окно? Это будет хорошо для него, чтобы сделать во время разработки не только во время выполнения
Вы уверены, что вам нужен пользовательский элемент управления для ярлыка и текстового поля. Вы можете применить стиль к своей Label и TextBox. И ярлык будет отображаться во время разработки. К тому моменту, когда вы добавляете синтаксис для привязки TextBox, вы не сохраняете много нажатий клавиш и в моем коде зрения, который сложнее выполнить. – Paparazzi
Да, я пытался понять это. Метка и текстовое поле должны находиться внутри панели стека. Я пытался выяснить, как создать стиль для панели стека, чтобы его дети могли иметь определенный стиль, а не создавать стиль для текстового поля ярлыка и панели стека. Каждый раз, когда я нуждался в новом поле ввода, мне пришлось разместить три элемента управления, а не просто управлять пользователем. –