全て
| カテゴリ未分類
| 通常
| 数学
| 投資
| 副業
| 転職・就職
| ブログ
| 株Stock
| VBA
| SharePoint
| REST API
| RenderListDataAsStream
| PowerAutomateDesktop
| Graph API
| PowerApps
| PowerAutomate
| PowerFx
| OfficeScriptオフィススクリプト
| PowerAutomate日時Excel日時相互関係
| PowerShell
| Dataverse
| UiPath
| OneDrive
| LINQ
| VB.NET
| C#.NET
| WPFC#.NET
| Git
| ネットワーク
| Azure
| AWS
| JP1
| セキュリティ
| JavaScript
| Google Cloud
カテゴリ:C#.NET
C#とWPFを使用してカスタムプログレスバーを作成する方法を示します。この例では、ProgressBarをカスタムコントロールとして作成し、値や色をカスタマイズできるようにします。 まず、新しいクラスを作成して、カスタムプログレスバーのコントロールを定義します。 CustomProgressBar.cs: ```csharp using System.Windows; using System.Windows.Controls; using System.Windows.Media; namespace CustomControls { public class CustomProgressBar : ProgressBar { public static readonly DependencyProperty ProgressColorProperty = DependencyProperty.Register("ProgressColor", typeof(Brush), typeof(CustomProgressBar), new PropertyMetadata(Brushes.Blue)); public Brush ProgressColor { get { return (Brush)GetValue(ProgressColorProperty); } set { SetValue(ProgressColorProperty, value); } } static CustomProgressBar() { DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomProgressBar), new FrameworkPropertyMetadata(typeof(CustomProgressBar))); } } } ``` 次に、カスタムプログレスバーのスタイルを定義します。このスタイルは、外観をカスタマイズするために使用されます。 Generic.xaml: ```xml <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:CustomControls"> <Style TargetType="{x:Type local:CustomProgressBar}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:CustomProgressBar}"> <Grid> <Rectangle Fill="{TemplateBinding Background}" /> <Rectangle x:Name="PART_Track" HorizontalAlignment="Left" Height="Auto" Margin="0" Stroke="{TemplateBinding BorderBrush}" VerticalAlignment="Stretch"/> <Rectangle x:Name="PART_Indicator" HorizontalAlignment="Left" Height="Auto" Margin="0" Fill="{TemplateBinding ProgressColor}" VerticalAlignment="Stretch"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> </ResourceDictionary> ``` これで、カスタムプログレスバーが定義されました。このコントロールを使用するには、XAMLでCustomProgressBarをインスタンス化し、必要に応じてProgressColorプロパティを設定します。 例えば、MainWindow.xaml: ```xml <Window x:Class="CustomProgressBarDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:customControls="clr-namespace:CustomControls;assembly=CustomControls" Title="Custom ProgressBar Demo" Height="200" Width="300"> <Grid> <customControls:CustomProgressBar Value="50" ProgressColor="Green" HorizontalAlignment="Center" VerticalAlignment="Center" Width="200"/> </Grid> </Window> ``` この例では、Valueプロパティでプログレスバーの進捗状況を指定し、ProgressColorプロパティで進捗バーの色を指定しています。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2024.03.18 05:22:42
[C#.NET] カテゴリの最新記事
|