0

ウィジェットを持つ Android アプリを WP8 に移植する必要があります。

このためには、独自のトグル ボタン (ユーザー コントロール) を作成する必要があります。そこで、MyToggleButton という Button のサブクラスを作成し、標準のコールバックを使用してボタンの画像とテキストを変更しました。

私が使用するクリックダウンをキャッチするonMouseEnterには、クリックが終了すると、つまり、moudボタンが再び上がりますonMouseLeave

これは問題なく動作します - 問題は、クリックするonMouseEnterと少し遅れて呼び出されたように見え、このボタンが通常のボタンとは対照的に最小限の遅延で ButtonImage を変更することです (私は Visual Studio Express 2012 をエミュレータで使用しています。テスト用の実際の電話はまだありません)

XAML でロットを指定するユーザー コントロールを作成する他の方法を見つけましたが、標準メソッドを使用するだけで説明した方法の方が簡単だと思います。この最小限の遅延がどこから来るのか、私にはわかりません。

4

2 に答える 2

0

最初のケースでは、おそらくカスタムトグルを作成しないでください。Androidからアプリケーションを移植することは、そのグラフィックスも移植する必要があるという意味ではありません。それらは単に同じ設計言語を共有していません。おそらく、ネイティブのWP8トグルに固執する必要があります。

ただし、本当にカスタムチェックボックス/トグルを作成する場合は、これをチェックする必要があります。これはWP7用に作成されましたが、WP8にも適用されます。

于 2012-12-13T03:22:05.550 に答える
0

これは、画像を使用した簡略化された「トグル」ボタンです。に基づくCheckBox

<Style TargetType="{x:Type CheckBox}" >
            <Setter Property="Template" >
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type CheckBox}">
                        <Grid>
                            <ContentPresenter x:Name="Part_Content" />
                            <Image Name="image" Source="/WpfApplication4;component/Images/avatar63.jpg" />
                        </Grid>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsChecked" Value="true" >
                                <Setter TargetName="image" Property="Source" Value="/WpfApplication4;component/Images/imagesCA7JZMMY.jpg"/>
                            </Trigger>
                            <Trigger Property="IsChecked" Value="False" >
                                <Setter TargetName="image" Property="Source" Value="/WpfApplication4;component/Images/avatar63.jpg"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
于 2012-12-13T03:43:00.677 に答える