【WPF学習中】XAML内のプロパティの値をバインディングする

コンピュータ
XAMLだけでスライダーの動きに合わせて円が拡大縮小するサンプルプログラム作成してみました。

プロジェクトの作成

PowerShellで実行。要dotnet.exe
mkdir En
cd En
dotnet new wpf
code .

ソースコード

<Window x:Class="En.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:En"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Slider
            x:Name="slider1"
            Height="30"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Top"
            Maximum="100"
            Margin="5"
            Value="20"/>
        <Ellipse
            Width="{Binding Value, ElementName=slider1}"
            Height="{Binding RelativeSource={RelativeSource Self},Path=Width}"
            Stroke="Black"
            StrokeThickness="4" />
        
    </Grid>
</Window>

ビルド

dotnet build

実行

起動するとスライダーと円が表示される。

スライダーを右に動かすと連動して円が大きくなる。

コメント