ゲームの得点表示画面を作りたい
お世話になっております。
現在WPFでゲームの得点を表示するアプリを作っています。
全画面で表示するようにしたいのですが、全画面で表示すると名前や得点のところがつぶれて画面がBackgroundで設定した黒一色になってしまいます。
どうしたらWPFで書き込んだ表示をちゃんと表示できるでしょうか?
該当のソースコード
XMAL
1 2 3<Window x:Class="nOmX.ViewPanel" 4 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 5 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 6 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 7 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 8 xmlns:local="clr-namespace:nOmX" 9 mc:Ignorable="d" 10 Title="ViewPanel" 11 Height="1080" Width="1920"> 12 <Grid Background="Black"> 13 <!--プレイヤー1--> 14 <Viewbox Margin="5,180,1790,810"> 15 <TextBox x:Name="P1Res" TextAlignment="Center" HorizontalAlignment="Left" TextWrapping="Wrap" Width="120" FontSize="60" Foreground="Red" Background="Black" BorderBrush="Black"/> 16 </Viewbox> 17 <Viewbox Margin="5,270,1790,360"> 18 <TextBlock x:Name="P1Name" TextWrapping="Wrap" FontSize="40" Foreground="White" TextAlignment="Center" HorizontalAlignment="Stretch" /> 19 </Viewbox> 20 <Viewbox Margin="5,720,1790,190"> 21 <TextBox x:Name="P1O" TextAlignment="Center" TextWrapping="Wrap" Text="0" FontSize="60" Foreground="Red" Background="Black" BorderBrush="Black"/> 22 </Viewbox> 23 <Viewbox Margin="5,890,1790,20"> 24 <TextBox x:Name="P1X" TextAlignment="Center" TextWrapping="Wrap" Text="0" FontSize="60" Background="Black" Foreground="#FF1800FF" BorderBrush="Black" /> 25 </Viewbox> 26 <!--プレイヤー2--> 27 <Viewbox Margin="155,180,1640,810"> 28 <TextBox x:Name="P2Res" TextAlignment="Center" HorizontalAlignment="Left" TextWrapping="Wrap" Width="120" FontSize="60" Foreground="Red" Background="Black" BorderBrush="Black"/> 29 </Viewbox> 30 <Viewbox Margin="155,270,1640,360"> 31 <TextBlock x:Name="P2Name" TextWrapping="Wrap" FontSize="40" Foreground="White" TextAlignment="Center" HorizontalAlignment="Stretch" /> 32 </Viewbox> 33 <Viewbox Margin="155,720,1640,190"> 34 <TextBox x:Name="P2O" TextAlignment="Center" TextWrapping="Wrap" Text="0" FontSize="60" Foreground="Red" Background="Black" BorderBrush="Black"/> 35 </Viewbox> 36 <Viewbox Margin="155,890,1640,20"> 37 <TextBox x:Name="P2X" TextAlignment="Center" TextWrapping="Wrap" Text="0" FontSize="60" Background="Black" Foreground="#FF1800FF" BorderBrush="Black" /> 38 </Viewbox> 39 40<!--以下何名か同じプレーヤー要素を追加する予定--> 41 </Grid> 42</Window> 43 44
C#
1 public partial class ViewPanel : Window 2 { 3 //listにほかのメソッドから名前、Op,Xpにポイントが入ってきます。 4 //少なくともそのあたりの文字の操作はうまくいっていました。 5 public ViewPanel(List<string> list, int Op, int Xp) 6 { 7 InitializeComponent(); 8 9 for (int i = 0; i < 12; i++) 10 { 11 if (!string.IsNullOrEmpty(list[i])) 12 { 13 string Pname = $"P{i + 1}Name"; 14 TextBlock tb = this.FindName(Pname) as TextBlock; 15 string _name = list[i]; 16 string name = ""; 17 for(int x = 0; x < _name.Length; x++) 18 { 19 tb.Inlines.Add(new Run($"{_name.Substring(x, 1)}")); 20 tb.Inlines.Add(new Run(Environment.NewLine)); 21 } 22 } 23 else 24 { 25 string PO = $"P{i + 1}O"; 26 TextBox box = this.FindName(PO) as TextBox; 27 box.Visibility = Visibility.Hidden; 28 29 string PX = $"P{i + 1}X"; 30 TextBox boxX = this.FindName(PX) as TextBox; 31 boxX.Visibility = Visibility.Hidden; 32 } 33 } 34 ////全画面表示 35 this.WindowStyle = WindowStyle.None; 36 this.WindowState = WindowState.Maximized; 37 }
試したこと
拡大せず、初期の450,800サイズで配置した時は思った通りに表示されましたが、全画面に表示したときにうまくいかなかったため、サイズを最初から全画面サイズにして作ろうとしました。
最初から全画面表示での使用を前提としているので、全画面でのサイズで表示できればいいのですが・・・
補足情報(FW/ツールのバージョンなど)
Visual Studio 2017を使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/11 05:37