私はXamarinでミルゲームを作りたいです。グリッド内の特定の場所にボタンが必要です。これらの場所は、このような私のViewModelから来ているが、私はフォーラムを参照した後にそれを行う方法を知らない。XamarinのミルゲームXAML c#win8
私はあなたがフィールドのリストを反復処理し、プログラム的にボタンを作成し、あなたのグリッドに割り当てることができ、ボタン
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:view="clr-namespace:Malom.Portable.View"
xmlns:controls="clr-namespace:DLToolkit.Forms.Controls;assembly=DLToolkit.Forms.Controls.FlowListView"
x:Class="Malom.Portable.View.GamePage">
<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="EllipseStyle" TargetType="Button">
<Style.Triggers>
<DataTrigger TargetType="Button" Binding="{Binding Color}" Value="BluePlayer">
<Setter Property="BackgroundColor" Value="Blue" />
</DataTrigger>
<DataTrigger TargetType="Button" Binding="{Binding Color}" Value="RedPlayer">
<Setter Property="BackgroundColor" Value="Red" />
</DataTrigger>
<DataTrigger TargetType="Button" Binding="{Binding Color}" Value="Empty">
<Setter Property="BackgroundColor" Value="Black" />
</DataTrigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
</ContentPage.Resources>
<Grid>
<ListView ItemsSource="{Binding Fields}" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<Grid Padding="30,30,30,30" VerticalAlignment="Center">
<Button Grid.Row="{Binding Y}" Grid.Column="{Binding X}" Command="{Binding FieldChangeCommand}"></Button>
</Grid>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</ContentPage>
ボタンをグリッドの特定の場所に配置する場合は、ListView内に配置しないでください。プログラムで直接グリッドに配置します。 – Jason
どのように私はグリッドにitemsourceを与えることができますか?または、別の商品コンテナを使用する必要がありますか?私はゲームのような特定の場所に自分のボタンを持っています – szarkabarna
グリッドにデータバインドすることはできません - そのため、プログラムでボタンを割り当てなければならないと言っています。 – Jason