0
<TextBox x:Name="DescriptionTextBox"
Text="{Binding SelectedEntity.Description,
ValidatesOnExceptions=True}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus" SourceName="DescriptionTextBox">
<ei:CallMethodAction MethodName="RaiseCanExecuteChanged"
TargetObject="{Binding Command, ElementName=SaveButton}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
<userControls:SaveCloseUserControl />
這裏面用戶控制WPF中,如何找到元素名稱從一個用戶控件在另一個
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
<Button Width="50"
Command="{Binding SaveCommand}"
Content="Save" />
<Button Width="50"
Command="{Binding CloseCommand}"
Content="Close" />
</StackPanel>
這裏的問題是,這個TargetObject =「{綁定命令,的ElementName = SaveButton}」不找到SaveButton是因爲它在userControls裏面:SaveCloseUserControl 我在網上看,我發現了一個需要隱藏代碼的解決方案(從2009年開始),今天有沒有簡單的方法來做這件事? 問候
編輯
基於@huzle回答我這樣做的代碼的用戶控制
public object CreateButton { get { return CreateChild; } }
的後面,在XAML我添加了一個名字保存按鈕。
所以我最終版本看起來像這樣
<TextBox x:Name="DescriptionTextBox"
Text="{Binding SelectedEntity.Description,
ValidatesOnExceptions=True}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus" SourceName="DescriptionTextBox">
<ei:CallMethodAction MethodName="RaiseCanExecuteChanged"
TargetObject="{Binding CreateButton.Command,ElementName=MySaveCloseUserControl}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
<userControls:SaveCloseUserControl x:Name="MySaveCloseUserControl"/>