ソースコード
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="SampleLabel1.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="ExecBtn"
Text="クリック"
Clicked="OnExecClicked"
SemanticProperties.Hint="クリック"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
ファイル名:MainPage.xaml.cs
namespace SampleLabel1;
public partial class MainPage : ContentPage
{
int index = 0;
string[] textArray = new string[] { "い", "ろ", "は", "に", "ほ" };
public MainPage()
{
InitializeComponent();
}
private void OnExecClicked(object sender, EventArgs e)
{
ExecBtn.Text = String.Format("{0}", textArray[index]);
index++;
if (index >= textArray.Length) {
index = 0;
};
}
}
実行
学習したこと
ButtonのClickedにセットしたOnExecClickedとMainPageクラスのOnExecClicked()メソッドが連動します。引数を見るとデータバインドではないWPFのイベントやWinFormのイベントと同じような書き方になっています。
MainPageクラスのメンバーとしてint indexとstring[] textArrayフィールドをprivate void OnExecClicked()から参照しています。
x:Name="ExecBtn"
でButtonに名前を付けると、C#側からExecBtn.Text = String.Format("{0}", textArray[index]);
でButtonの文字を変更しています。
コメント