Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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
在WPF/Silverlight中将组合框显示为文本块_Wpf_Combobox_Controltemplate - Fatal编程技术网

在WPF/Silverlight中将组合框显示为文本块

在WPF/Silverlight中将组合框显示为文本块,wpf,combobox,controltemplate,Wpf,Combobox,Controltemplate,我想将组合框显示为文本框(无边框、背景、切换按钮等)-仅显示当前选定的项目文本。 我确实喜欢这样,但我不明白如何链接TextBlock,以便它在组合框中显示当前选定的项 <ComboBox ItemsSource="{Binding Path=...}" SelectedValue="{Binding Path=...}" DisplayMemberPath="Name" SelectedValuePath="Id"> <ComboBox.Template>

我想将组合框显示为文本框(无边框、背景、切换按钮等)-仅显示当前选定的项目文本。 我确实喜欢这样,但我不明白如何链接TextBlock,以便它在组合框中显示当前选定的项

<ComboBox ItemsSource="{Binding Path=...}" SelectedValue="{Binding Path=...}" DisplayMemberPath="Name" SelectedValuePath="Id">
    <ComboBox.Template>
        <ControlTemplate>
            <TextBlock Text="{Binding ?}"></TextBlock>
        </ControlTemplate>
    </ComboBox.Template>
</ComboBox>

您应该在
ControlTemplate
中指定
TargetType
,并绑定到
SelectionBoxItem

使用以下命令:

 <ComboBox>
        <ComboBox.Template>
            <ControlTemplate  TargetType="{x:Type ComboBox}">
                <TextBlock Text="{TemplateBinding SelectionBoxItem}" />
            </ControlTemplate>
        </ComboBox.Template>
        <ComboBoxItem Content="Item1" IsSelected="True" />
        <ComboBoxItem Content="sdff" />
  </ComboBox>



此解决方案将所选项目正确显示为文本块,但您不能选择新项目。
<ComboBox ItemsSource="{Binding Path=...}" SelectedValue="{Binding Path=...}" DisplayMemberPath="Name" SelectedValuePath="Id">
<ComboBox.Template>
    <ControlTemplate>
        <TextBlock Text="{Binding SelectedItem.MyText,RelativeSource={RelativeSource Mode=TemplatedParent}}"></TextBlock>
    </ControlTemplate>
</ComboBox.Template>