Я пытаюсь сделать перевернуть некоторые прямоугольники из моего MainWindow. Что я хочу сделать, вместо того, чтобы использовать кнопку, пытается получить событие, чтобы запустить flipping. Я попытался связать событие в пользовательском классе с ICommand, который является известным ScrollBehavior. Проблема заключается в том, когда программа загружает это исключение разжигает:C#/WPF - DataEventTrigger или как вызвать событие
XamlParseException на Interactivity.TriggersCollection
Изображение что-то вроде:
Из того, что у меня есть, событие
public class FlipClass
{
int i = 0;
public void FlipEvent(object sender, EventArgs e)
{
i++;
Console.WriteLine(i);
myTestingString = johnny;
}
}
Этот класс связан с моим MainWindow благодаря DataContext согласно следующему:
public MainWindow()
{
InitializeComponent();
FlipClass() _flipClass = new FlipClass();
this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
DataContext = _flipClass; //The Context is here
Stopwatch moi = new Stopwatch();
moi.Start(): //Monitoring the Window
moi.Stop();
Console.WriteLine(moi.ElapsedMilliseconds);
Closing += OnClosing;
}
Наконец в моем XAML коде, у меня есть этот
<ec:PathListBox x:Name="pathListBox" Margin="312,566.254,299.5,407" WrapItems="True" ItemContainerStyle="{DynamicResource PathListBoxItemStyle1}">
<i:Interaction.Behaviors>
<local:PathListBoxScrollBehavior>
<i:Interaction.Triggers>
<local:DataEventTrigger EventName="FlipEvent"> <------- This is Where I get the Exception
<i:InvokeCommandAction CommandName="DecrementCommand"/>
</local:DataEventTrigger>
</i:Interaction.Triggers>
<local:PathListBoxScrollBehavior.Ease>
<QuarticEase EasingMode="EaseOut"/>
</local:PathListBoxScrollBehavior.Ease>
</local:PathListBoxScrollBehavior>
</i:Interaction.Behaviors>
<ec:PathListBox.LayoutPaths>
<ec:LayoutPath SourceElement="{Binding ElementName=path}" Distribution="Even" Capacity="3"/>
</ec:PathListBox.LayoutPaths>
<Rectangle HorizontalAlignment="Left" Height="139.96" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Top" Width="202" Fill="#FFA7CEF5"/>
<Rectangle HorizontalAlignment="Left" Height="139.96" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Top" Width="202" Fill="#FFA7CEF5"/>
<Rectangle HorizontalAlignment="Left" Height="139.96" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Top" Width="202" Fill="#FFA7CEF5"/>
<Rectangle HorizontalAlignment="Left" Height="139.96" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Top" Width="202" Fill="#FFA7CEF5"/>
<Rectangle HorizontalAlignment="Left" Height="139.96" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Top" Width="202" Fill="#FFA7CEF5"/>
<Rectangle HorizontalAlignment="Left" Height="139.96" Stroke="#FF6DBDD1" StrokeThickness="1" VerticalAlignment="Top" Width="202" Fill="#FFA7CEF5"/>
</ec:PathListBox>
Я intentionnally вырезать остальную часть кода XAML вниз, так как это не имеет значения.
Precision: Когда я помещаю код, который запускает Command с помощью кнопки, он отлично работает. DataEventTrigger
заменяется:
<i:EventTrigger SourceName="button" EventName="Click">
<i:InvokeCommandAction CommandName="DecrementCommand"/>
</i:EventTrigger>
Я предполагаю, что мое событие сильно связаны между собой. Есть ли у вас предложения? Спасибо за помощь, я надеюсь, что мой вопрос ясен.