.net 我无法显示自定义控件的绑定值';加载控件时的属性
我的wpf应用程序中有一个自定义控件。这是一个自定义的“自动完成”.net 我无法显示自定义控件的绑定值';加载控件时的属性,.net,wpf,data-binding,wpf-controls,.net,Wpf,Data Binding,Wpf Controls,我的wpf应用程序中有一个自定义控件。这是一个自定义的“自动完成”TextBox,用户可以在其中键入文本,并根据自己的输入获取选项更新列表 控制模板如下所示: <ControlTemplate TargetType="{x:Type local:AutoCompleteTextBox}"> <Grid> <Border x:Name="PART_ControlBorder" SnapsToDevicePixels="true" Backgro
TextBox
,用户可以在其中键入文本,并根据自己的输入获取选项更新列表
控制模板如下所示:
<ControlTemplate TargetType="{x:Type local:AutoCompleteTextBox}">
<Grid>
<Border x:Name="PART_ControlBorder" SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" HorizontalAlignment="Stretch"/>
<Button x:Name="PART_DropDownButton" Grid.Column="1" />
</Grid>
</Border>
<Popup x:Name="PART_Popup" StaysOpen="False" Width="Auto" Height="Auto">
<ListBox x:Name="PART_ListBox" HorizontalContentAlignment="Stretch" SelectionMode="Single"/>
</Popup>
</Grid>
</ControlTemplate>
问题
当控件的SelectedItem
属性在创建/呈现时已绑定时,我需要用SelectedItem
的“名称”填充文本框(不仅仅是当列表框
选择更改时,这就是我现在拥有的)
我试过的
我试图在基本自定义控件的EndInit
和OnInitialize
事件中访问此SelectedItem
,但其值为空。我无法使用加载的事件,因为它不允许我跳过它
有人能帮我弄清楚当控件第一次加载时使用什么事件吗
感谢您的帮助尝试将SelectedItem属性绑定到
控制模板
<ScrollViewer x:Name="PART_ContentHost"
Content={TemplateBinding SelectedItem}
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
HorizontalAlignment="Stretch"/>
您试图将
SelectedItem
绑定到哪里文本框
?这个文本框在哪里,在模板中我没有注意到它。还是只需要在代码中输入SelectedItem
的值?
<ScrollViewer x:Name="PART_ContentHost"
Content={TemplateBinding SelectedItem}
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
HorizontalAlignment="Stretch"/>