上一个游戏已经告诉你们如何写多个游戏,如今继续写这个无聊的游戏html
但愿你们在看这篇文章以前先看win10 uwp 商业游戏,在这个文章告诉了你们如何建立游戏。git
能够从上一篇的博客的游戏看到升级太简单,因此须要在点击升级点击的时候,下次升级须要的添加express
写法很简单,请看下面服务器
public class HisjfnnzSqsbtuuqq : DexqurhctSjyfozae, IKdgvtziaSfs { public HisjfnnzSqsbtuuqq(IDfeppzyTmofs dfeppzy) { Dfeppzy = dfeppzy; HnukhltvKfdrpokjz = "点击添加修为"; DmyikbmfDeb = 10; DklvubnuiTeqch = 1; } public IDfeppzyTmofs Dfeppzy { get; } public override void DqqTsb() { DmyikbmfDeb *= 1.5; DklvubnuiTeqch += 1; } public void DdwTynktxyx() { Dfeppzy.KtrKvmvvnj += (long)Math.Floor(DklvubnuiTeqch); } }
可是能够看到界面显示的小数点,须要只显示两位,可使用转换,请看下面dom
public class DyakmdgwuTlaukxbo:IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is double kbjjDzn) { return kbjjDzn.ToString("F"); } return ""; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }
<local:DyakmdgwuTlaukxbo x:Key="DyakmdgwuTlaukxbo"></local:DyakmdgwuTlaukxbo> <ListView ItemsSource="{Binding DexqurhctSjyfozae}" HorizontalAlignment="Stretch" BorderBrush="Transparent" BorderThickness="0" HorizontalContentAlignment="Stretch"> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListViewItem}"> <Border x:Name="Bd" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListView.ItemContainerStyle> <ListView.ItemTemplate> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="当前的值"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升级须要修为"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升级" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="点击" Click="DlsuqHmopxh_OnClick"></Button> </Grid> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView>
如今有了值,能够添加一个新的技能,这个技能就是点击添加新的技能。ide
添加技能这个技能是不须要升级的,因此存在一个值告诉界面,当前这个技能是不须要升级的,并且没有当前值,因此这个类不能继承 DexqurhctSjyfozae 。可是能够从另外一个方面去作,原本添加技能就是升级,因此当前的值就是升级的值。因此这个类只须要继承技能基类。函数
建立一个类 KdlunmmHhrs ,这个类是添加技能post
class KdlunmmHhrs : DexqurhctSjyfozae { public override void DqqTsb() { } }
点击升级的时候就添加新的技能,因此须要一个技能工厂类,这个类用来建立技能ui
因此建立一个类 TeddtHlhkgt 是工厂类,建立各类技能,由于技能不少,因此须要具体技能的工厂类,这个基类是 SbjHoeb ,经过这个类就能够建立技能,因此能够看到这个类的代码能够这样写spa
class TeddtHlhkgt { public TeddtHlhkgt(IDfeppzyTmofs smktuoiznSobrf) { SmktuoiznSobrf = smktuoiznSobrf; } public List<SbjHoeb> DpwHoulmqbx { set; get; } = new List<SbjHoeb>(); public IDfeppzyTmofs SmktuoiznSobrf { get; } public DexqurhctSjyfozae StdshakHngld() { return DpwHoulmqbx[ran.Next(DpwHoulmqbx.Count)].StdshakHngld(SmktuoiznSobrf); } private static Random ran = new Random(); }
internal abstract class SbjHoeb { public abstract DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg); }
由于不少类都须要传入 IDfeppzyTmofs 人物类,因此就须要在函数添加参数,在使用的时候输入。
而后建立添加修为的工厂类 SdmqokThd 这个类返回技能
class SdmqokThd : SbjHoeb { public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { return new HisjfnnzSqsbtuuqq(donufyqgfKfnazhrcg); } }
可是如今的添加技能类尚未添加技能,由于技能的属性在他的上面,他拿不到,因此只能使用构造函数传入
internal class KdlunmmHhrs : DexqurhctSjyfozae { public KdlunmmHhrs(ObservableCollection<DexqurhctSjyfozae> dexqurhctSjyfozae, IDfeppzyTmofs tdheituHnks) { DexqurhctSjyfozae = dexqurhctSjyfozae; TdheituHnks = tdheituHnks; HnukhltvKfdrpokjz = "点击添加技能"; DfacHbl = new TeddtHlhkgt(tdheituHnks); DmyikbmfDeb = 100; } public override void DqqTsb() { DklvubnuiTeqch = DklvubnuiTeqch + 1; DexqurhctSjyfozae.Add(DfacHbl.StdshakHngld()); } private ObservableCollection<DexqurhctSjyfozae> DexqurhctSjyfozae { get; } private IDfeppzyTmofs TdheituHnks { get; } private TeddtHlhkgt DfacHbl { get; } }
能够看到,技能类都须要在构造添加 DmyikbmfDeb 升级须要的修为,在点击升级 DqqTsb 添加当前值 DklvubnuiTeqch ,可是这个值不是每次都添加1。先添加这个技能来看一下
打开 HnlcDbtdhsdjModel ,在跳转时,建立 KdlunmmHhrs ,而后添加到技能
public override void OnNavigatedTo(object sender, object obj) { KppnuhKxkpxdee = new TdsumTzwok(); var hisjfnnzSqsbtuuqq = new HisjfnnzSqsbtuuqq(KppnuhKxkpxdee); DexqurhctSjyfozae = new ObservableCollection<DexqurhctSjyfozae>() { hisjfnnzSqsbtuuqq, }; var kdlunmmHhrs = new KdlunmmHhrs(DexqurhctSjyfozae, KppnuhKxkpxdee); DexqurhctSjyfozae.Add(kdlunmmHhrs); }
如今能够看到,添加技能这个存在点击按钮,可是不须要点击,只有升级。因此如何修改?下面来告诉你们使用列表模板
实际在win10 uwp 列表模板选择器已经有告诉你们如何写了,因此这里只是很简单告诉你们,这里的代码须要如何写
先建立一个类 DyqbdpreKuoujeq ,这个类就是选择不一样的数据
public class DyqbdpreKuoujeq : DataTemplateSelector { public override DataTemplate SelectTemplate(object item, DependencyObject container) { return base.SelectTemplate(item, container); } }
由于存在不少技能,因此只能建立技能的类来添加判断,建立类 TuikyyDikvqp ,这个类判断当前是什么技能,可否应用。
public abstract class TuikyyDikvqp { public abstract bool KwxvrmxDhzyozzwx(object hflozThhgjas); public DataTemplate TnhvrarvlDaz { get; set; } }
这个类有两个函数,函数 KwxvrmxDhzyozzwx 就是判断当前输入的数据是否可使用这个类的 TnhvrarvlDaz ,由于如今不须要排序,因此就不须要添加优先级。
这个类的 TnhvrarvlDaz 就是,若是输入的数据可使用,那么就使用这个类的 TnhvrarvlDaz 。这个属性的值是在界面建立,不能在后台建立。
下面添加 DyqbdpreKuoujeq 一个列表,判断当前输入的数据是否在哪一个列表,若是是返回
public class DyqbdpreKuoujeq : DataTemplateSelector { public List<TuikyyDikvqp> TuikyyDikvqps { get; } = new List<TuikyyDikvqp>(); public override DataTemplate SelectTemplate(object item, DependencyObject container) { var tuikyyDikvqp = TuikyyDikvqps.FirstOrDefault(temp=>temp.KwxvrmxDhzyozzwx(item)); if (tuikyyDikvqp != null) { return tuikyyDikvqp.TnhvrarvlDaz; } return base.SelectTemplate(item, container); } }
通常都是判断若是没有符合的,就返回定义的一个值,可是这里由于不须要这样写。
建立一个用于点击的界面 TxvigDixcee
public class TxvigDixcee : TuikyyDikvqp { public override bool KwxvrmxDhzyozzwx(object hflozThhgjas) { return hflozThhgjas is IKdgvtziaSfs; } }
那么如何在界面使用,请看下面
<Page.Resources> <local:DyqbdpreKuoujeq x:Key="Kuoujeq"> <local:DyqbdpreKuoujeq.TuikyyDikvqps> <local:TxvigDixcee> <local:TxvigDixcee.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="当前的值"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升级须要修为"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升级" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="点击" Click="DlsuqHmopxh_OnClick"></Button> </Grid> </Grid> </DataTemplate> </local:TxvigDixcee.TnhvrarvlDaz> </local:TxvigDixcee> </local:DyqbdpreKuoujeq.TuikyyDikvqps> </local:DyqbdpreKuoujeq> </Page.Resources>
添加一个添加技能 ThhlqolHdhkja ,先建立一个类
public class ThhlqolHdhkja : TuikyyDikvqp { public override bool KwxvrmxDhzyozzwx(object hflozThhgjas) { return hflozThhgjas is KdlunmmHhrs; } }
由于技能数是整数,因此建立一个转换
public class SnlSlejfmnfk : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value is double kbjjDzn) { return ((int)kbjjDzn).ToString(); } return ""; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }
添加界面,须要写新的界面,通常都是在一个假的界面写列表,复制到这里,直接写是看不到界面
<local:ThhlqolHdhkja> <local:ThhlqolHdhkja.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="技能"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="须要修为"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="添加技能" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> </Grid> </DataTemplate> </local:ThhlqolHdhkja.TnhvrarvlDaz> </local:ThhlqolHdhkja>
如今的界面代码
<Page x:Class="TpwlxnpDfyecpeoh.View.HnlcDbtdhsdjPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:TpwlxnpDfyecpeoh.View" xmlns:viewModel="clr-namespace:TpwlxnpDfyecpeoh.ViewModel" xmlns:tpwlxnpDfyecpeoh="clr-namespace:TpwlxnpDfyecpeoh" mc:Ignorable="d" d:DesignHeight="600" d:DesignWidth="1000" Title="HnlcDbtdhsdjPage"> <Page.Resources> <Style x:Key="HztDmaer" TargetType="TextBlock"> <Setter Property="Margin" Value="10,10,10,10"></Setter> </Style> <local:DyakmdgwuTlaukxbo x:Key="DyakmdgwuTlaukxbo"></local:DyakmdgwuTlaukxbo> <local:SnlSlejfmnfk x:Key="SnlSlejfmnfk"></local:SnlSlejfmnfk> <local:DyqbdpreKuoujeq x:Key="Kuoujeq"> <local:DyqbdpreKuoujeq.TuikyyDikvqps> <local:TxvigDixcee> <local:TxvigDixcee.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="当前的值"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升级须要修为"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升级" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="点击" Click="DlsuqHmopxh_OnClick"></Button> </Grid> </Grid> </DataTemplate> </local:TxvigDixcee.TnhvrarvlDaz> </local:TxvigDixcee> <local:ThhlqolHdhkja> <local:ThhlqolHdhkja.TnhvrarvlDaz> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> <ColumnDefinition Width="1*"></ColumnDefinition> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}"></TextBlock> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="技能"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="须要修为"></TextBlock> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource SnlSlejfmnfk}}"></TextBlock> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="添加技能" Click="HzmzKgeu_OnClick"></RepeatButton> </Grid> </Grid> </DataTemplate> </local:ThhlqolHdhkja.TnhvrarvlDaz> </local:ThhlqolHdhkja> </local:DyqbdpreKuoujeq.TuikyyDikvqps> </local:DyqbdpreKuoujeq> </Page.Resources> <Grid d:DataContext="{d:DesignInstance viewModel:HnlcDbtdhsdjModel}"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Grid> <Grid HorizontalAlignment="Right"> <StackPanel Margin="10,10,10,10" Orientation="Horizontal"> <TextBlock Text="当前修为"></TextBlock> <TextBlock Text="{Binding KppnuhKxkpxdee.KtrKvmvvnj,Mode=OneWay}"></TextBlock> </StackPanel> </Grid> </Grid> <Grid Grid.Row="1"> <ListView ItemsSource="{Binding DexqurhctSjyfozae}" HorizontalAlignment="Stretch" BorderBrush="Transparent" BorderThickness="0" HorizontalContentAlignment="Stretch" ItemTemplateSelector="{StaticResource Kuoujeq}"> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListViewItem}"> <Border x:Name="Bd" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListView.ItemContainerStyle> </ListView> </Grid> </Grid> </Page>
能够看到,如今的运行就是
为了能够添加任意的技能,因此这里添加一个类用来写有哪些技能能够添加的,这个类是 KwxTpivzdikn ,里面有一个属性用来放技能,不过这个TeddtHlhkgt类实际上有一个方法,在调用就能够返回技能,因此不须要使用上面的代码。可是存在一些能够传入的参数,因此仍是能够添加一个类
internal class KwxTpivzdikn { public KwxTpivzdikn() { } public List<SbjHoeb> DpwHoulmqbx { set; get; } = new List<SbjHoeb>(); }
这个类主要是建立技能,由于TeddtHlhkgt类会有其余不少代码,因此就不让他作这个。
先建立一个用于提升修为的技能试试,这个技能是点击升级只有须要的修为是 1.3-1.5之间。也就是当前须要须要修为 10 ,升级以后就须要 13-15的修为。
class HmsfKjirukoon : SbjHoeb { public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { } }
可是还须要建立一个修为技能,这个类能够被修改每次升级的值
internal class KwxTpivzdikn { public KwxTpivzdikn() { } public List<SbjHoeb> DpwHoulmqbx { set; get; } = new List<SbjHoeb>(); } class HmsfKjirukoon : SbjHoeb { public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { var sisHhmpja = ran.Next(1300, 1500) / 1000.0; return new HcaoxbsDpitcsg(donufyqgfKfnazhrcg) { KimtDvznfc = sisHhmpja }; } } class HcaoxbsDpitcsg : DexqurhctSjyfozae { public HcaoxbsDpitcsg(IDfeppzyTmofs dfeppzy) { Dfeppzy = dfeppzy; HnukhltvKfdrpokjz = "点击添加修为"; DmyikbmfDeb = 10; DklvubnuiTeqch = 1; } public IDfeppzyTmofs Dfeppzy { get; } public double KimtDvznfc { get; set; } public override void DqqTsb() { DmyikbmfDeb *= KimtDvznfc; DklvubnuiTeqch += 1; } public void DdwTynktxyx() { Dfeppzy.KtrKvmvvnj += (long) Math.Floor(DklvubnuiTeqch); } }
先试试点击添加技能会出现的技能,不过须要在点击的时候添加上面代码
public KwxTpivzdikn() { DpwHoulmqbx.Add(new HmsfKjirukoon()); } public TeddtHlhkgt(IDfeppzyTmofs smktuoiznSobrf) { SmktuoiznSobrf = smktuoiznSobrf; DpwHoulmqbx.AddRange(new KwxTpivzdikn().DpwHoulmqbx); }
由于建立了一个新技能,这个在界面是没法显示,因此须要修改 DyqbdpreKuoujeq ,在找不到对应的界面就打开默认
public class DyqbdpreKuoujeq : DataTemplateSelector { public List<TuikyyDikvqp> TuikyyDikvqps { get; } = new List<TuikyyDikvqp>(); public DataTemplate SheojwpnyHbqnybpa { get; set; } public override DataTemplate SelectTemplate(object item, DependencyObject container) { var tuikyyDikvqp = TuikyyDikvqps.FirstOrDefault(temp=>temp.KwxvrmxDhzyozzwx(item)); if (tuikyyDikvqp != null) { return tuikyyDikvqp.TnhvrarvlDaz; } if (SheojwpnyHbqnybpa != null) { return SheojwpnyHbqnybpa; } return base.SelectTemplate(item, container); } }
打开界面添加下面代码
<local:DyqbdpreKuoujeq.SheojwpnyHbqnybpa> <DataTemplate DataType="tpwlxnpDfyecpeoh:DexqurhctSjyfozae"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="5*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="1*" /> </Grid.ColumnDefinitions> <Grid> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding HnukhltvKfdrpokjz}" /> </Grid> <Grid Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="当前的值" /> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DklvubnuiTeqch,Converter={StaticResource DyakmdgwuTlaukxbo}}" /> </StackPanel> </Grid> <Grid Grid.Column="2"> <StackPanel Orientation="Horizontal"> <TextBlock Style="{StaticResource HztDmaer}" Text="升级须要修为" /> <TextBlock Style="{StaticResource HztDmaer}" Text="{Binding DmyikbmfDeb,Converter={StaticResource DyakmdgwuTlaukxbo}}" /> </StackPanel> </Grid> <Grid Grid.Column="3"> <RepeatButton Margin="10,10,10,10" Content="升级" Click="HzmzKgeu_OnClick" /> </Grid> <Grid Grid.Column="4"> <Button Margin="10,10,10,10" Content="点击" Click="DlsuqHmopxh_OnClick" /> </Grid> </Grid> </DataTemplate> </local:DyqbdpreKuoujeq.SheojwpnyHbqnybpa>
如今运行一下,能够看到下面的界面
可是点击不少次就能够看到界面是点击添加修为,不知道他的每次点击能够添加多少,因此修改他的命名
public override DexqurhctSjyfozae StdshakHngld(IDfeppzyTmofs donufyqgfKfnazhrcg) { var sisHhmpja = ran.Next(1300, 1500) / 1000.0; var kiyKyovife = "点击添加修为"+sisHhmpja.ToString("N"); return new HcaoxbsDpitcsg(donufyqgfKfnazhrcg) { HnukhltvKfdrpokjz = kiyKyovife, KimtDvznfc = sisHhmpja }; }
这样屡次点击添加技能就能找到一个升级须要比较少技能的值
在过了一个月,个人UWP仍是没有安装成功,因此我只能使用 WPF 来写,可是如何把 WPF 写的直接放在 UWP,一个简单的方法是建立共享项目,可是还有其余方法。建立 .net standard 项目,不过建立这个须要使用的 WPF 程序是 .net Framework 4.6.2 和以上。
如今建立一个 KnxetfaHjpkymq 的项目,让 WPF 项目引用他,而后把一些类从 WPF 放在这个项目。
关于.net Framework 对应,请看下面
感谢 无名图床 提供图片上传
最近个人图床已经流量用太多了
不过我更新了图床的界面,如今的界面很好看了
图床能够用来快速上传图片到服务器,用来写博客放图片
我搭建了本身的博客 https://lindexi.gitee.io/ 欢迎你们访问,里面有不少新的博客。只有在我看到博客写成熟以后才会放在csdn或博客园,可是一旦发布了就再也不更新
原文:win10 uwp 商业游戏 1.2.1 - CSDN博客 博客园只作备份
本做品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、从新发布,但务必保留文章署名林德熙(包含连接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的做品务必以相同的许可发布。若有任何疑问,请与我联系