【问题标题】:Passing enum type to Converter with integer value [duplicate]将枚举类型传递给具有整数值的转换器[重复]
【发布时间】:2019-08-17 15:19:16
【问题描述】:

所以我试图创建一个通用IValueConverter,我可以在DataGrid 绑定中使用它,我将发送一个整数值和一个枚举类型以将该整数转换为该枚举类型并从资源文件。但是我不能将枚举类型传递给转换器,因为我无法在我的 xaml 代码中引用我的枚举。这是我尝试过的参考:

我想引用命名空间 ERPProject._AppControl._BAL._Core._Constants 中名为 ERPConstants 的类中的 (UserStatus)。

我在我的代码中试过这个:

<UserControl x:Class="ERPProject._AppUI._Users.UsersControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:Constants="clr-namespace:ERPProject._AppControl._BAL._Core._Constants">

<Grid>
<DataGrid Name="dgUsers" Grid.Row="1">
                <DataGrid.Columns>
<DataGridTemplateColumn Header="Status" Width="*">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <Label HorizontalAlignment="Left" Content="{Binding Status, Converter={StaticResource EnumConverter}, ConverterParameter={x:Type Constants:UserStatus}}"></Label>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>

但它说UserStatus 在命名空间中不存在。我还尝试在上面的xmlns:Constants 中包含ERPConstants,但没有成功。有人可以帮忙吗?

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    所以经过一些尝试后,我自己在这里得到了答案,适用于任何可能遇到相同问题的人 我将我的枚举引用为这个常量:ERPConstants+UserStatus

    <DataGridTemplateColumn Header="Status" Width="*">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <Label HorizontalAlignment="Left" Content="{Binding Status, Converter={StaticResource EnumConverter}, ConverterParameter={x:Type Constants:ERPConstants+UserStatus}}"></Label>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多