[WPF] Binding two visual elemets
От: AlexR123  
Дата: 26.03.09 09:26
Оценка:
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Button x:Name="sampleButton" Width="{Binding ElementName=helperF, Path=With}">Test</Button>

<Grid>
<Button Visibility="Hidden" x:Name="helperF" Width="50"></Button>
</Grid>

</Grid>
</Window>

Есть простая разметрка. Пытаюсь взять размер второй кнопки(helperF) и поставить его первой(sampleButton).
Но не срабатывает.
Почему не срабатывает?
Как исправить?
Re: [WPF] Binding two visual elemets
От: MxKazan Португалия  
Дата: 26.03.09 09:50
Оценка:
Здравствуйте, AlexR123, Вы писали:

AR>Есть простая разметрка. Пытаюсь взять размер второй кнопки(helperF) и поставить его первой(sampleButton).

AR>Но не срабатывает.
AR>Почему не срабатывает?
AR>Как исправить?
Просто Width — это желаемый размер, а актуальный, на который надо биндиться — это ActualWidth.
Правда в данном случае без разницы. Похоже ты просто ошибся в Path биндинга, написав там With
Re[2]: [WPF] Binding two visual elemets
От: AlexR123  
Дата: 26.03.09 09:54
Оценка:
Здравствуйте, MxKazan, Вы писали:

MK>Здравствуйте, AlexR123, Вы писали:


AR>>Есть простая разметрка. Пытаюсь взять размер второй кнопки(helperF) и поставить его первой(sampleButton).

AR>>Но не срабатывает.
AR>>Почему не срабатывает?
AR>>Как исправить?
MK>Просто Width — это желаемый размер, а актуальный, на который надо биндиться — это ActualWidth.
MK>Правда в данном случае без разницы. Похоже ты просто ошибся в Path биндинга, написав там With

Про ActualWidth в курсе, его бы следовало использовать если бы Width не был определен.
Проблема в другом.
Если sapleButton устовить Width явно 50 то он и дебаге показывает 50 и визуально занимает 50.
А если уставливать через биндинг то кнопка занимает все окошко и в дебаге Width = NaN.
Re[3]: [WPF] Binding two visual elemets
От: MxKazan Португалия  
Дата: 26.03.09 10:35
Оценка:
Здравствуйте, AlexR123, Вы писали:

AR>Про ActualWidth в курсе, его бы следовало использовать если бы Width не был определен.

AR>Проблема в другом.
AR>Если sapleButton устовить Width явно 50 то он и дебаге показывает 50 и визуально занимает 50.
AR>А если уставливать через биндинг то кнопка занимает все окошко и в дебаге Width = NaN.
Я ж написал Ты ошибся в Binding'е, одну буковку забыл.
Вместо
Width="{Binding ElementName=helperF, Path=With}

напиши
Width="{Binding ElementName=helperF, Path=Width}
Re[4]: [WPF] Binding two visual elemets
От: AlexR123  
Дата: 26.03.09 11:58
Оценка:
Здравствуйте, MxKazan, Вы писали:

MK>Здравствуйте, AlexR123, Вы писали:


AR>>Про ActualWidth в курсе, его бы следовало использовать если бы Width не был определен.

AR>>Проблема в другом.
AR>>Если sapleButton устовить Width явно 50 то он и дебаге показывает 50 и визуально занимает 50.
AR>>А если уставливать через биндинг то кнопка занимает все окошко и в дебаге Width = NaN.
MK>Я ж написал Ты ошибся в Binding'е, одну буковку забыл.
MK>Вместо
MK>
Width="{Binding ElementName=helperF, Path=With}

MK>напиши
MK>
Width="{Binding ElementName=helperF, Path=Width}


спасибо, заработало все как надо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.