0

私はWindowsPhoneアプリを開発しています。3X3グリッドのような構造を作成する必要があります。最初は境界線を見えなくしたい。ユーザーが境界線に触れると、境界線が表示されるはずです。始め方を教えてください。私はWindowsPhoneフレームワークを初めて使用します。また、Silverlightで実行できますか、それともxnaが必要ですか?

4

1 に答える 1

0

シルバーライトいいですね。3 列 3 行 3 列のグリッドを追加する

<Grid Name="grid">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
</Grid>

次に、次のように、すべての行*列にボーダー要素を追加します:

public MainPage()
    {
        InitializeComponent();
        var borders = new Border[3,3];
        var handler = new EventHandler<GestureEventArgs>(MainPage_Tap);
        for (int i = 0; i < 3; i++)
            for (int j = 0; j < 3; j++)
            {
                borders[i,j] = new Border()
                                {
                                    BorderThickness = new Thickness(4),
                                    Opacity = 0,
                                    BorderBrush = new SolidColorBrush(Colors.White)
                                };
                borders[i, j].Tap += handler;

                Grid.SetRow(borders[i,j], i);
                Grid.SetColumn(borders[i,j], j);
                grid.Children.Add(borders[i, j]);
            }
    }

    void MainPage_Tap(object sender, GestureEventArgs e)
    {
        var snd = sender as Border;
        snd.Opacity = 1;
    }     

後で簡単に操作できるように、ボーダーの配列を使用しましたが、これは必須ではありません。

編集:グリッド全体に境界線を付けたい場合は、タップ イベントで同じことを行いますが、XAML で境界線を次のように設定します。

<Grid Name="grid">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Border Grid.RowSpan="3" Grid.ColumnSpan="3" Opacity="0" Tap="handler" />
</Grid>
于 2012-09-04T16:09:39.683 に答える