Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 我无法显示自定义控件的绑定值';加载控件时的属性_.net_Wpf_Data Binding_Wpf Controls - Fatal编程技术网

.net 我无法显示自定义控件的绑定值';加载控件时的属性

.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

我的wpf应用程序中有一个自定义控件。这是一个自定义的“自动完成”
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"/>