属性绑定到WPF中的静态属性:宽度绑定不起作用

时间:2010-02-18 14:33:08

标签: wpf data-binding wpf-controls binding

更新:我已更正帖子,因此问题已关闭。

预期结果: 菜单宽度必须等于主窗口宽度。 这是完整的代码:

<Menu Name="menu1" DockPanel.Dock="Top">
   <Menu.Width>
      <Binding Path="MainWindow.Width" 
               Source="{x:Static Application.Current}"
               UpdateSourceTrigger="PropertyChanged"/>
   </Menu.Width>
   <MenuItem Header="File">
       <MenuItem Header="Open" />
       <MenuItem Header="Close" />
   </MenuItem>
</Menu>

结果: 菜单宽度等于内容宽度

1 个答案:

答案 0 :(得分:1)

卫生署,

Dmitry,Application.Current没有属性Width ...

使用Grid而不是DockPanel:

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
   <Grid>
      <Menu Name="menu1" VerticalAlignment="Top">
         <MenuItem Header="File">
            <MenuItem Header="Open"/>
            <MenuItem Header="Close"/>
         </MenuItem>
      </Menu>
   </Grid>
</Page>

不要过度复杂化。我真的鼓励你阅读精彩的WPF博士文章:ItemsControl from A to Z

干杯,安瓦卡