Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Data binding 我可以使用现有的metro类来创建未连接到可见ui控件的可绑定字符串吗_Data Binding_Windows 8 - Fatal编程技术网

Data binding 我可以使用现有的metro类来创建未连接到可见ui控件的可绑定字符串吗

Data binding 我可以使用现有的metro类来创建未连接到可见ui控件的可绑定字符串吗,data-binding,windows-8,Data Binding,Windows 8,我正在为自己编写一个Windows8应用程序,为一些自动生成的路径生成g代码。生成g代码时,我希望使用可以在应用程序中自己编写和编辑的文本模板。我认为遵循{binding path}符号是一个好主意,这样我的模板可能看起来像 “{binding Gcode.LinearMove}{binding Axis.X}{binding CurrentPoint.X}…”给出 数据绑定后的“G1 X 90…” 所有对象Gcode、Axis、CurrentPoint都可以定义为代码生成器的DataConte

我正在为自己编写一个Windows8应用程序,为一些自动生成的路径生成g代码。生成g代码时,我希望使用可以在应用程序中自己编写和编辑的文本模板。我认为遵循{binding path}符号是一个好主意,这样我的模板可能看起来像

“{binding Gcode.LinearMove}{binding Axis.X}{binding CurrentPoint.X}…”给出 数据绑定后的“G1 X 90…”

所有对象Gcode、Axis、CurrentPoint都可以定义为代码生成器的DataContext的一部分

目前,我使用使用StringBuilder构建的简单字符串,并将其传递给ListView进行显示,并使用format替换值,但这当然会冻结我在代码中使用的属性,并且具有限制性。我使用了特定的模板名称,这些名称使用正则表达式替换,但替换值在代码中再次冻结

我认为使用可编辑模板可以让我更自由地动态选择在运行时使用哪些属性

所以我的问题,, 使用现有metro类和数据绑定的.net实现可以做到这一点吗?还是必须从头开始?请记住,绑定将位于不可见和非UI控件上。我认为,就资源而言,使用Textblocks列出数千行gcode是一件愚蠢的事情,而且我在某个地方读到,多绑定在应用程序中是不可用的


Alan

是的,您可以使用TextBlock或RichTextBlock将各个管路绑定到要显示的特性。当代码隐藏发生更改时(只要它正确实现INotifyPropertyChange),屏幕上的文本应按预期更新

下面是一篇关于绑定运行的好文章:


开发支持、设计支持和更多令人敬畏的优点:

谢谢,我尝试过按照您的建议使用运行,只是我不知道如何在c#中数据绑定到运行文本属性。我直接将文本设置为类似于{binding mypath}的内容,但似乎没有执行。当我查看textBlocks文本属性时,它只是回显绑定文本。运行似乎没有可访问的SetBinding调用,并且运行没有公共TextProperty属性。那么,有什么关于如何进行的提示吗?