WpfExtensions.Xaml
1.2.0
.NET Core 3.0
.NET Framework 4.5
Install-Package WpfExtensions.Xaml -Version 1.2.0
dotnet add package WpfExtensions.Xaml --version 1.2.0
<PackageReference Include="WpfExtensions.Xaml" Version="1.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add WpfExtensions.Xaml --version 1.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: WpfExtensions.Xaml, 1.2.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install WpfExtensions.Xaml as a Cake Addin
#addin nuget:?package=WpfExtensions.Xaml&version=1.2.0
// Install WpfExtensions.Xaml as a Cake Tool
#tool nuget:?package=WpfExtensions.Xaml&version=1.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
WpfExtensions.Xaml.Markup
0. *New CommandExtension
- View (XAML):
<Element Command={markup:Command Execute} />
<Element Command={markup:Command ExecuteWithArgumentAsync, CanExecute}
CommandParameter={Binding Argument} />
- View Model (*.cs):
class ViewModel
{
public void Execute() {}
public void ExecuteWithArgument(string arg) {}
// The `Execute` method supports async, and its default `Can Execute` method will disable the command when it is busy.
public Task ExecuteAsync() => Task.Completed;
public Task ExecuteWithArgumentAsync(string arg) => Task.Completed;
// The `Can Execute` method does not support async.
public bool CanExecute() => true;
public bool CanExecuteWithArgument(string arg) => true;
}
1. ComposeExtension
Combine multiple Converters into one pipeline.
<TextBlock Visibility="{Binding DescriptionText, Converter={markup:Compose
{StaticResource IsNullOrEmptyOperator},
{StaticResource NotConverter},
{StaticResource BooleanToVisibilityConverter}}}"
Text="{Binding DescriptionText}" />
2. IfExtension
Using the Conditional expression
in XAML.
<Button Command="{markup:If {Binding BoolProperty},
{Binding OkCommand},
{Binding CancelCommand}}" />
<UserControl>
<markup:If Condition="{Binding IsLoading}">
<markup:If.True>
<views:LoadingView />
</markup:If.True>
<markup:If.False>
<views:LoadedView />
</markup:If.False>
</markup:If>
</UserControl>
3. SwitchExtension
Using the Switch expression
in XAML.
<Image Source="{markup:Switch {Binding FileType},
{Case {x:Static res:FileType.Music}, {StaticResource MusicIcon}},
{Case {x:Static res:FileType.Video}, {StaticResource VideoIcon}},
{Case {x:Static res:FileType.Picture}, {StaticResource PictureIcon}},
...
{Case {StaticResource UnknownFileIcon}}}" />
<UserControl>
<Switch To="{Binding SelectedViewName}">
<Case Label="View1">
<views:View1 />
</Case>
<Case Label="{x:Static res:Views.View2}">
<views:View2 />
</Case>
<Case>
<views:View404 />
</Case>
</Switch>
</UserControl>
4. I18nExtension
Dynamically switch the culture resource without restarting the app.
<TextBlock Text="{markup:I18n {x:Static languages:UiStrings.MainWindow_Title}}" />
<TextBlock Text="{markup:I18nString {x:Static languages:UiStrings.SayHello}, {Binding Username}}" />
<TextBlock Text="{markup:I18nString {x:Static languages:UiStrings.StringFormat},
{Binding Arg0},
{Binding Arg1},
...,
{Binding Arg15}}" />
5. StylesExtension
(In Progress)
<Button Style="{markup:Styles {StaticResource FlatButtonStyle},
{StaticResource AnimationStyle},
...}" />
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp3.0 netcoreapp3.1 |
.NET Framework | net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on WpfExtensions.Xaml:
Package | Downloads |
---|---|
Feather.Controls
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.