0

windows8.1 アプリを UWP に移行していますが、動作の多くが機能しなくなっていることがわかりました。そのうちの 1 つは ShowFlyoutBehavior で、コードは次のとおりです。

                        <interactivity:Interaction.Behaviors>
                            <core:EventTriggerBehavior EventName="Tapped">
                                <behaviors:ShowFlyoutBehavior />
                            </core:EventTriggerBehavior>
                        </interactivity:Interaction.Behaviors>

エラー メッセージは次のようなものです タイプ 'XX.App.Behaviors.ShowFlyoutBehavior' のインスタンスをタイプ 'Microsoft.Xaml.Interactivity.ActionCollection' のコレクションに追加できません。何か案が?Windows 8.1 では問題なく動作します。Microsoft.Xaml.Behaviors.Uwp.Managed NuGet パッケージを既にインストールしています

4

1 に答える 1

1

シンプルな xaml があるとしましょう:

<Image Source="/Assets/Logo.scale-100.png"
       Height="100" Width="100">
    <FlyoutBase.AttachedFlyout>
        <Flyout>
            <StackPanel>
                <TextBlock Text="Awesome Flyout!" />
            </StackPanel>
        </Flyout>
    </FlyoutBase.AttachedFlyout>
</Image>

カスタム動作を作成します。

public class OpenFlyoutAction: DependencyObject, IAction
{
    public object Execute(object sender, object parameter)
    {
        FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender);

        return null;
    }
}

最終的な xaml:

<Image Source="/Assets/Logo.scale-100.png"
       Height="100" Width="100">
    <FlyoutBase.AttachedFlyout>
        <Flyout>
            <StackPanel>
                <TextBlock Text="Awesome Flyout!" />
            </StackPanel>
        </Flyout>
    </FlyoutBase.AttachedFlyout>
    <i:Interaction.Behaviors>
        <core:EventTriggerBehavior EventName="Tapped">
            <local:OpenFlyoutAction />
        </core:EventTriggerBehavior>
    </i:Interaction.Behaviors>
</Image>

ここから詳細を読むことをお勧めしますhttps://marcominerva.wordpress.com/2013/12/17/using-a-behavior-to-open-attached-flyouts-in-winows-81-store-apps/

于 2016-04-18T22:41:43.913 に答える