【问题标题】:ComboBox TextWrap Binding组合框 TextWrap 绑定
【发布时间】:2013-09-20 11:26:46
【问题描述】:

我有以下组合框

<ComboBox x:Name="TaskText" Text="{Binding TaskNameBinding}" ItemsSource="{Binding 
    taskList, ElementName=MainWin}" SelectedValuePath="_id" DisplayMemberPath="_name" 
    Background="Yellow" Padding="0" Margin="0" BorderThickness="0" Width="90"/>

我希望将文本换行应用到此组合框,然后从答案here 代码 sn-p

<ComboBox x:Name="TaskText" ItemsSource="{Binding taskList, ElementName=MainWin}" 
    SelectedValuePath="_id" DisplayMemberPath="_name" Background="Yellow" Padding="0" 
    Margin="0" BorderThickness="0" Width="90">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding TaskNameBinding}" 
                TextTrimming="CharacterEllipsis" />
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

但是这个模板破坏了绑定并且组合框没有显示任何值。任何帮助将不胜感激

【问题讨论】:

  • 它是如何破坏Binding 的?那是什么意思?您在 Visual Studio 的 Output 窗口中遇到什么错误?
  • 窗口中没有显示任何内容,错误是在对象上找不到属性
  • 是的,抱歉,在我发布问题之前已经为此工作了 2 天。有时它只是打动你,你知道吗?
  • 我完全明白你的意思……我以前也是这样。通常,我会尝试简化问题,以便在此处发布简化版本,但仅简化问题通常可以让我找到解决方案。
  • @Sheridan 他把它贴在这里很好,因为这样其他人可以从答案中获利

标签: wpf xaml combobox texttrimming


【解决方案1】:

想通了

<ComboBox x:Name="TaskText" Text="{Binding TaskNameBinding}" ItemsSource="{Binding taskList, ElementName=MainWin}" SelectedValuePath="_id" DisplayMemberPath="_name" Background="Yellow" Padding="0" Margin="0" BorderThickness="0" Width="90">
                        <ComboBox.ItemTemplate>
                            <DataTemplate>
                                <TextBlock 
                                Text="{Binding _name}" 
                                TextWrapping="Wrap" />
                            </DataTemplate>
                        </ComboBox.ItemTemplate>
                    </ComboBox>

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 2011-01-06
    • 1970-01-01
    • 2011-06-13
    • 2012-06-18
    • 2011-03-09
    相关资源
    最近更新 更多