如何将Xamarin Xaml IValueConverter翻译成C#?

如何将Xamarin Xaml IValueConverter翻译成C#?,xaml,xamarin.forms,ivalueconverter,Xaml,Xamarin.forms,Ivalueconverter,你能帮我把这个Xamarin xaml翻译成c吗 谢谢 您可以通过MyBtn.SetBinding(Button.BackgroundColorProperty,“IconColor”,BindingMode.OneTime,new LocalHexColorFromStringConverter())来翻译它 我用按钮的背景色做了一个测试 Button MyBtn = new Button(); MyBtn.Text = "test"; MyBtn.Set

你能帮我把这个Xamarin xaml翻译成c吗


谢谢

您可以通过
MyBtn.SetBinding(Button.BackgroundColorProperty,“IconColor”,BindingMode.OneTime,new LocalHexColorFromStringConverter())来翻译它

我用按钮的背景色做了一个测试

   Button MyBtn = new Button();
   MyBtn.Text = "test";
   MyBtn.SetBinding(Button.BackgroundColorProperty, "IconColor", BindingMode.OneTime, new LocalHexColorFromStringConverter()) ;
   Content = MyBtn;
下面是
LocalHexColorFromStringConverter.cs

  public class LocalHexColorFromStringConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return Color.FromHex((string)value);
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return value;
        }
    }

请问“new LocalHexColorFromStringConverter()”和“converter:LocalHexColorFromStringConverter()”之间有什么区别

您的意思是“新建LocalHexColorFromStringConverter()”和“转换器:LocalHexColorFromStringConverter”

如果是这样,它们是相同的,
converter:LocalHexColorFromStringConverter
是Xaml中的wirte类型,
converter:
是前缀,它解释了这个类的特定路径,如果你想从任何页面调用它,你需要在
App.Xaml
中编写它

例如,您可以将其添加到App.xaml中

<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             xmlns:converters="clr-namespace:OAuthGoogleDemo"
             x:Class="OAuthGoogleDemo.App">
    <Application.Resources>
       
       <ResourceDictionary>
            <converters:LocalHexColorFromStringConverter x:Key="HexColorFromStringConverter" />
        </ResourceDictionary>
        
    </Application.Resources>
</Application>


然后在Mainpage.xaml中与
Converter={StaticResource HexColorFromStringConverter}}

一起使用它,我能问一下“new LocalHexColorFromStringConverter()”和“Converter:LocalHexColorFromStringConverter()之间的区别吗" ? 我想我学会了在App.Xaml中创建一个实例,然后从任何页面调用它。。。。这是典型的工作流程吗?
<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
             xmlns:converters="clr-namespace:OAuthGoogleDemo"
             x:Class="OAuthGoogleDemo.App">
    <Application.Resources>
       
       <ResourceDictionary>
            <converters:LocalHexColorFromStringConverter x:Key="HexColorFromStringConverter" />
        </ResourceDictionary>
        
    </Application.Resources>
</Application>