Поскольку я переместил свой просмотр внутри элемента ItemsControl, я не могу запустить EventTrigger в моей модели ViewModel. Вот мой вводе команды декларация, которая должна стрелять LostFocus:ItemsControl + Textbox + MVVM + EventTrigger Not Firing
public ICommand UpdateOrdersCommand { get; set; }
public void UpdateOrders(object param)
{
UpdateFields();
}
Мой Контейнер XAML:
<UserControl.Resources>
<WMS:PurchasingModel x:Key="ViewModel" />
<DataTemplate x:Key="myDataTemplate1">
<WMSViews:Purchasing1 />
</DataTemplate>
</UserControl.Resources>
<Grid x:Name="LayoutRoot"
Background="White"
DataContext="{StaticResource ViewModel}">
<ItemsControl ItemsSource="{Binding Path=ColPurchasing}"
ItemTemplate="{StaticResource myDataTemplate1}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
My View, где это EvenTrigger используется для стрельбы по LostFocus:
<Classes:TextBoxEx TabIndex="1"
x:Name="tbFoodSales"
HorizontalAlignment="Left"
Height="23"
Margin="55,79,0,0"
TextWrapping="Wrap"
VerticalAlignment="Top"
Width="61"
TextAlignment="Right"
Text="{Binding Path=FoodSales, Mode=TwoWay}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{Binding UpdateOrdersCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Classes:TextBoxEx>
Я использую Silverlight! Это не сработало. Окно вывода полезно. Теперь он показывает: Ошибка System.Windows.Data: ошибка пути BindingExpression: свойство UpdateOrdersCommand не найдено в 'WMS.WCF_WingService.Purchasing' 'WMS.WCF_WingService.Purchasing' (HashCode = 53022201). BindingExpression: Path = 'DataContext.UpdateOrdersCommand' DataItem = 'System.Windows.Controls.Grid – Colbs
Попробуйте присвоить свой ItemsControl имя и затем использовать это имя для ElementName в привязке Command. Это немного хакерское, но для этого требуется минимальное количество изменений. – wdavo
По-прежнему нет события. Это выглядит для моего представления для команды, а не для моей модели ViewModel. Будет ли DataItem или Find Ancestor работать? Я пробовал бесконечные варианты – Colbs