0
    <Button>
        <Button.Content>
            <MultiBinding StringFormat="{}{0},{1}">
                <Binding Path="Width" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}"/>
                <Binding Path="Height" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}"/>                            
            </MultiBinding>
        </Button.Content>
    </Button>

在这里,我尝试将窗口的宽度和高度绑定到按钮内容中,但这没有意义。

4

2 回答 2

1

正如 Adrian 所建议的,您必须将StringFormat绑定的结果分配给文本控件。试试这个:

  <Button>
    <Button.Content>
        <TextBlock>
            <TextBlock.Text>
                <MultiBinding StringFormat="{}{0},{1}">
                    <Binding Path="ActualWidth" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type Button}}"/>
                    <Binding Path="ActualHeight" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type Button}}"/>                            
                </MultiBinding>
            </TextBlock.Text>
        </TextBlock>
    </Button.Content>
</Button>
于 2013-06-10T13:59:28.713 回答
0

你可以尝试类似的东西

<Button>
   <Button.Content>
          <TextBlock TextAlignment="Left">  
                <Run Text="{Binding ActualWidth" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}"/>
                <Run Text=" | " />           
                <Run Text="{Binding ActualHeight" RelativeSource="{RelativeSource Mode=FindAncestor,AncestorType={x:Type Window}}"/>
           </TextBlock>
    </Button.Content>
 </Button>

通过使用Run,您可以创建任何您想要显示的内容。并且还可以在每次运行时显示不同的样式,例如,您可以在第一次运行时创建粗体效果,而其他样式可能与斜体或其他内容不同。

然后使用Window 的HeightWidth属性使用ActualHeightActualWidth属性,这将为您提供实际值。您可能会在高度和宽度上获得 NAN,因为它们没有具体定义。

于 2013-06-10T14:02:45.827 回答