DataTemplate 绑定中未调用 ValueConverter

发布于 2024-08-30 05:27:28 字数 840 浏览 2 评论 0原文

我有一个使用 DataTemplateComboBoxDataTemplate 包含一个绑定,该绑定使用 IValueConverter 将枚举值转换为字符串。问题是值转换器从未被调用。如果我在 StatusToTextConverter.Convert() 中放置断点,则永远不会命中它。

这是我的 XAML:

    <ComboBox ItemsSource="{Binding Path=StatusChoices, Mode=OneWay}">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Converter={StaticResource StatusToTextConverter}}"/>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

我认为这就是隐式绑定到 DataTemplate 所呈现的值的方式。我错了吗?

编辑:上下文:我打算在 DataTemplate 中与 TextBox 一起显示一个 Image。如果我无法使 TextBox 绑定正常工作,那么我认为 Image 也不会工作。

I have a ComboBox that uses a DataTemplate. The DataTemplate contains a binding which uses an IValueConverter to convert an enumerated value into a string. The problem is that the value converter is never invoked. If I put a breakpoint in StatusToTextConverter.Convert(), it never is hit.

This is my XAML:

    <ComboBox ItemsSource="{Binding Path=StatusChoices, Mode=OneWay}">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Converter={StaticResource StatusToTextConverter}}"/>
            </DataTemplate>
        </ComboBox.ItemTemplate>
    </ComboBox>

I thought this is how one implicitly binds to the value a DataTemplate is presenting. Am I wrong?

Edit: For context: I intend to display an Image in the DataTemplate alongside that TextBox. If I can't get the TextBox binding to work, then I don't think the Image will work, either.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

删除会话 2024-09-06 05:27:28

在某些情况下,您必须为 Binding 显式提供 Path。试试这个:

<TextBlock Text="{Binding Path=.,Converter={StaticResource StatusToTextConverter}}"/>

In some circumstances you must explicitly supply a Path for a Binding. Try this instead:

<TextBlock Text="{Binding Path=.,Converter={StaticResource StatusToTextConverter}}"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文