XAML转换为C# [英] convert XAML to c#

查看:178
本文介绍了XAML转换为C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要的followinf代码转换为C#代码。
有自动做到这一点的工具吗?
谢谢



 < ListView控件名称=ListView的保证金=0,0,0,164> 
< ListView.View>
<&GridView的GT;
< GridView.Columns>
< GridViewColumn标题=制定DisplayMemberBinding ={绑定路径=色器件}WIDTH =80/>
< GridViewColumn标题=LibelleDisplayMemberBinding ={绑定路径=标签}WIDTH =120/>
< GridViewColumn标题=团结DisplayMemberBinding ={绑定路径=团结}WIDTH =80/>
< GridViewColumn标题=查特DisplayMemberBinding ={绑定路径= achatBanque}WIDTH =80/>
< GridViewColumn标题=的VenteDisplayMemberBinding ={绑定路径= venteBanque}WIDTH =80/>
< /GridView.Columns>
< / GridView的>
< /ListView.View>
< /&的ListView GT;


解决方案

我以为这样做,不应该是硬(使用CodeDOM的),所以我就开始寻找解决方案的工作。源是github上使用 。这真的只是一个开始,它不支持许多XAML的功能,但它工作在问题的代码。



如果你是认真的,你可以对代码的进一步开展工作。



在XAML中的问题产生下面的输出,这似乎工作:

 私人的ListView获得()
{
ListView控件的ListView =新的ListView();
listView.Name =ListView控件;
listView.Margin =((厚度)(TypeDescriptor.GetConverter(typeof运算(厚度))ConvertFromInvariantString(0,0,0,164)));
GridView控件的GridView =新的GridView();
GridViewColumn gridViewColumn =新GridViewColumn();
gridViewColumn.Header =设计;
约束力181 =新的Binding();
binding.Path =((的PropertyPath)(TypeDescriptor.GetConverter(typeof运算(的PropertyPath))ConvertFromInvariantString(设计)));
gridViewColumn.DisplayMemberBinding =结合;
gridViewColumn.Width = 80D;
gridView.Columns.Add(gridViewColumn);
GridViewColumn gridViewColumn2 =新GridViewColumn();
gridViewColumn2.Header =Libelle;
结合binding2 =新的Binding();
binding2.Path =((的PropertyPath)(TypeDescriptor.GetConverter(typeof运算(的PropertyPath))ConvertFromInvariantString(标签)));
gridViewColumn2.DisplayMemberBinding = binding2;
gridViewColumn2.Width = 120D;
gridView.Columns.Add(gridViewColumn2);
GridViewColumn gridViewColumn3 =新GridViewColumn();
gridViewColumn3.Header =团结;
结合binding3 =新的Binding();
binding3.Path =((的PropertyPath)(TypeDescriptor.GetConverter(typeof运算(的PropertyPath))ConvertFromInvariantString(团结)));
gridViewColumn3.DisplayMemberBinding = binding3;
gridViewColumn3.Width = 80D;
gridView.Columns.Add(gridViewColumn3);
GridViewColumn gridViewColumn4 =新GridViewColumn();
gridViewColumn4.Header =查特;
结合binding4 =新的Binding();
binding4.Path =((的PropertyPath)(TypeDescriptor.GetConverter(typeof运算(的PropertyPath))ConvertFromInvariantString(achatBanque)));
gridViewColumn4.DisplayMemberBinding = binding4;
gridViewColumn4.Width = 80D;
gridView.Columns.Add(gridViewColumn4);
GridViewColumn gridViewColumn5 =新GridViewColumn();
gridViewColumn5.Header =的Vente;
结合binding5 =新的Binding();
binding5.Path =((的PropertyPath)(TypeDescriptor.GetConverter(typeof运算(的PropertyPath))ConvertFromInvariantString(venteBanque)));
gridViewColumn5.DisplayMemberBinding = binding5;
gridViewColumn5.Width = 80D;
gridView.Columns.Add(gridViewColumn5);
listView.View = GridView控件;
回报率的ListView;
}


I need to convert the followinf code to c# code. There is a tool to do it automatically? thank you

 <ListView Name="listView" Margin="0,0,0,164">
        <ListView.View>
            <GridView>
                <GridView.Columns>
                    <GridViewColumn Header="Devise" DisplayMemberBinding="{Binding Path=devise}" Width="80" />
                    <GridViewColumn Header="Libelle" DisplayMemberBinding="{Binding Path=label}" Width="120" />
                    <GridViewColumn Header="Unite" DisplayMemberBinding="{Binding Path=unite}" Width="80" />
                    <GridViewColumn Header="Achat" DisplayMemberBinding="{Binding Path=achatBanque}" Width="80" />
                    <GridViewColumn Header="Vente" DisplayMemberBinding="{Binding Path=venteBanque}" Width="80" />    
                </GridView.Columns>
            </GridView>
        </ListView.View>
    </ListView>

解决方案

I thought doing this shouldn't be that hard (using CodeDOM), so I started working on a solution. The source is available at github. It's really just a beginning, it doesn't support many of the features of XAML, but it works for the code in the question.

If you are serious about this, you can work on that code further.

The XAML in the question produces the following output, that seems to work:

private ListView Get()
{
    ListView listView = new ListView();
    listView.Name = "listView";
    listView.Margin = ((Thickness)(TypeDescriptor.GetConverter(typeof(Thickness)).ConvertFromInvariantString("0,0,0,164")));
    GridView gridView = new GridView();
    GridViewColumn gridViewColumn = new GridViewColumn();
    gridViewColumn.Header = "Devise";
    Binding binding = new Binding();
    binding.Path = ((PropertyPath)(TypeDescriptor.GetConverter(typeof(PropertyPath)).ConvertFromInvariantString("devise")));
    gridViewColumn.DisplayMemberBinding = binding;
    gridViewColumn.Width = 80D;
    gridView.Columns.Add(gridViewColumn);
    GridViewColumn gridViewColumn2 = new GridViewColumn();
    gridViewColumn2.Header = "Libelle";
    Binding binding2 = new Binding();
    binding2.Path = ((PropertyPath)(TypeDescriptor.GetConverter(typeof(PropertyPath)).ConvertFromInvariantString("label")));
    gridViewColumn2.DisplayMemberBinding = binding2;
    gridViewColumn2.Width = 120D;
    gridView.Columns.Add(gridViewColumn2);
    GridViewColumn gridViewColumn3 = new GridViewColumn();
    gridViewColumn3.Header = "Unite";
    Binding binding3 = new Binding();
    binding3.Path = ((PropertyPath)(TypeDescriptor.GetConverter(typeof(PropertyPath)).ConvertFromInvariantString("unite")));
    gridViewColumn3.DisplayMemberBinding = binding3;
    gridViewColumn3.Width = 80D;
    gridView.Columns.Add(gridViewColumn3);
    GridViewColumn gridViewColumn4 = new GridViewColumn();
    gridViewColumn4.Header = "Achat";
    Binding binding4 = new Binding();
    binding4.Path = ((PropertyPath)(TypeDescriptor.GetConverter(typeof(PropertyPath)).ConvertFromInvariantString("achatBanque")));
    gridViewColumn4.DisplayMemberBinding = binding4;
    gridViewColumn4.Width = 80D;
    gridView.Columns.Add(gridViewColumn4);
    GridViewColumn gridViewColumn5 = new GridViewColumn();
    gridViewColumn5.Header = "Vente";
    Binding binding5 = new Binding();
    binding5.Path = ((PropertyPath)(TypeDescriptor.GetConverter(typeof(PropertyPath)).ConvertFromInvariantString("venteBanque")));
    gridViewColumn5.DisplayMemberBinding = binding5;
    gridViewColumn5.Width = 80D;
    gridView.Columns.Add(gridViewColumn5);
    listView.View = gridView;
    return listView;
}

这篇关于XAML转换为C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆