Привязка свойств к статическим свойствам в WPF: привязка ширины не работает - PullRequest
0 голосов
/ 18 февраля 2010

Обновление: я исправил сообщение, поэтому вопрос закрыт. Ожидаемый результат: Ширина меню должна быть равна ширине основного окна. Вот полный код:

<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 Ответ

1 голос
/ 18 февраля 2010

Doh,

Дмитрий, 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 от A до Z

Приветствия, Anvaka

...