Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
.net Xaml文本块宽度不一致行为_.net_Wpf_Vb.net_Xaml_Data Binding - Fatal编程技术网

.net Xaml文本块宽度不一致行为

.net Xaml文本块宽度不一致行为,.net,wpf,vb.net,xaml,data-binding,.net,Wpf,Vb.net,Xaml,Data Binding,请看5分钟这个简单的错误: <textblock (...) Width="0" /> 为什么我可以在xaml中设置TextBox.Width的零值,而不是在代码隐藏中 通过使用转换器,当返回0时,TextBlock.Width未设置为0,而是设置为“auto”,我可以读取文本属性类型为double,您返回一个int,将其更改为返回0.0,它应该可以工作 (原因是绑定通过反射设置属性,并且没有隐式转换,因此如果返回一个被认为不是数字的int,并且double.NaN是用来描述自动行

请看5分钟这个简单的错误:

<textblock (...) Width="0" />
为什么我可以在xaml中设置TextBox.Width的零值,而不是在代码隐藏中


通过使用转换器,当返回0时,TextBlock.Width未设置为0,而是设置为“auto”,我可以读取文本

属性类型为
double
,您返回一个
int
,将其更改为
返回0.0
,它应该可以工作

(原因是绑定通过反射设置属性,并且没有隐式转换,因此如果返回一个被认为不是数字的
int
,并且
double.NaN
是用来描述
自动
行为的值)

它是如何工作的?
<TextBlock (...) />
    <TextBlock.Width>
        <MultiBinding Converter="{StaticResource WidthConverter}">
             <MultiBinding.Bindings>
                   <Binding RelativeSource="{RelativeSource Self}" />
                   <Binding RelativeSource="{x:Static RelativeSource.Self}" Path="TemplatedParent.Parent.ActualWidth"  />
              </MultiBinding.Bindings>
         </MultiBinding>
    <TextBlock.Width>
</TextBlock>