代码之家  ›  专栏  ›  技术社区  ›  Prasanna Aarthi

添加对XAML中类内部定义的转换器的引用-Windows phone

  •  0
  • Prasanna Aarthi  · 技术社区  · 10 年前

    这是我的模态

     public class items
            {
                public string item_name { get; set; }
                public string item_id { get; set; }
                public string item_quantity { get; set; }
                public string unit_id { get; set; }
            }
     public class services
            {
                public List<items> items { get; set; }
            }
    

    我正在为List分配一个上述类的对象作为itemsource。我需要显示单元名称,但由于我的对象只包含单元id,所以我从字典中检索它,并使用转换器绑定它。

    我无法从XAML引用此转换器。因为此转换器不直接位于命名空间和其他类中。

    Namespace myname
    {
         public partial class write : PhoneApplicationPage
         {
             public static Dictionary<String, String> units1 = new Dictionary<String, String>();
    
     public write()
             public class UnitConvertor : IValueConverter
             {
                    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
                    {
                        string text = value.ToString();
                        if (text != null)
                        {
                            String unit = units1[text];
                            return unit;
                        }
    
                        return value;
                    }
    
                    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
                    {
                        return value;
                    }
                }
    
          }
    }
    

    XAML页面:

    xmlns:local="clr-namespace:myname"
    

    我无法在下面引用它 <Grid.resources>

    1 回复  |  直到 10 年前
        1
  •  1
  •   Sankarann Ramadurai    10 年前

    将命名空间设置为 xmlns:local="clr-namespace:myname.write"

    您可以访问 Converter local 命名空间。。

    <Grid.resources>
        <local:UnitConvertor x:Key="unitConverter"/>
    </Grid.resources>