Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/build_artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,9 @@ jobs:
with:
name: DemoApp
path: "src/MainDemo.Wpf/bin/${{ env.buildConfiguration }}"

- name: Upload Demo3 App
uses: actions/upload-artifact@v4
with:
name: Demo3App
path: "src/MaterialDesign3.Demo.Wpf/bin/${{ env.buildConfiguration }}"
2 changes: 1 addition & 1 deletion .github/workflows/pr_verification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ jobs:
contents: write

steps:
- uses: fastify/github-action-merge-dependabot@v3.11.2
- uses: fastify/github-action-merge-dependabot@v3.12.0
13 changes: 11 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,18 +135,27 @@ jobs:
name: DemoApp
path: demo-app

- name: Download Demo3 App Artifacts
uses: actions/download-artifact@v8
with:
name: Demo3App
path: demo3-app

- name: Zip Demo App
run: zip -r DemoApp.zip demo-app/*

- name: Zip Demo3 App
run: zip -r Demo3App.zip demo3-app/*

- name: Download Release Notes
uses: actions/download-artifact@v8
with:
name: ReleaseNotes

- name: Create Release
run: |
# We can't use glob pattern because of this bug https://github.com/cli/cli/issues/5099
gh release create v${{ inputs.milestone }} --repo '${{ github.repository }}' --draft --latest --title "${{ inputs.milestone }}" --notes-file ReleaseNotes.md (Get-Item '${{ github.workspace }}/nugets/*.nupkg') '${{ github.workspace }}/DemoApp.zip'
# We can't use glob pattern because of this bug https://github.com/cli/cli/issues/5099
gh release create v${{ inputs.milestone }} --repo '${{ github.repository }}' --draft --latest --title "${{ inputs.milestone }}" --notes-file ReleaseNotes.md (Get-Item '${{ github.workspace }}/nugets/*.nupkg') '${{ github.workspace }}/DemoApp.zip' '${{ github.workspace }}/Demo3App.zip'

update_wiki:
needs: [create_release]
Expand Down
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,25 @@ Install-Package MaterialDesignThemes
[...] >
```

### XML Namespaces

The toolkit exposes two XML namespaces for use in XAML:

| Prefix | URI | Description |
|--------|-----|-------------|
| `materialDesign` | `http://materialdesigninxaml.net/winfx/xaml/themes` | Primary namespace for all public Material Design types, controls, and converters. |
| `materialDesignInternal` | `http://materialdesigninxaml.net/winfx/xaml/themes-internal` | Namespace for types in internal sub-namespaces (`MaterialDesignThemes.Wpf.Internal`, `MaterialDesignThemes.Wpf.Converters.Internal`, `MaterialDesignThemes.Wpf.Behaviors.Internal`). |

> [!WARNING]
> Types exposed via the `materialDesignInternal` namespace are considered **internal implementation details** and are **not guaranteed to maintain backwards-compatibility between versions**. Use them at your own risk.

To use the internal namespace in XAML:

```xml
<Window ...
xmlns:materialDesignInternal="http://materialdesigninxaml.net/winfx/xaml/themes-internal">
```


## Building the source

Expand Down
1 change: 1 addition & 0 deletions src/MahMaterialDragablzMashUp/MahViewModel.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Windows.Data;

namespace MahAppsDragablzDemo;

Expand Down
16 changes: 16 additions & 0 deletions src/MainDemo.Wpf/MenusAndToolBars.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,22 @@
</ToolBarTray>
</smtx:XamlDisplay>

<smtx:XamlDisplay Margin="0,16,0,16" UniqueKey="menus_toolbar_custom_bg">
<ToolBarTray>
<ToolBar Background="{DynamicResource MaterialDesign.Brush.Primary}"
ClipToBounds="False"
Style="{StaticResource MaterialDesignToolBar}">
<Button Content="{materialDesign:PackIcon Kind=ContentSave}" ToolTip="Save" />
<Button Content="{materialDesign:PackIcon Kind=ContentCut}" ToolTip="Cut" />
<Button Content="{materialDesign:PackIcon Kind=ContentCopy}" ToolTip="Copy" />
<Button Content="{materialDesign:PackIcon Kind=ContentPaste}" ToolTip="Paste" />
<Button Content="{materialDesign:PackIcon Kind=FormatBold}" ToolBar.OverflowMode="Always" />
<Button Content="{materialDesign:PackIcon Kind=FormatItalic}" ToolBar.OverflowMode="Always" />
<Button Content="{materialDesign:PackIcon Kind=FormatUnderline}" ToolBar.OverflowMode="Always" />
</ToolBar>
</ToolBarTray>
</smtx:XamlDisplay>

<Rectangle Style="{StaticResource PageSectionSeparator}" />
<TextBlock Style="{StaticResource PageSectionTitleTextBlock}" Text="Context Menus" />

Expand Down
266 changes: 264 additions & 2 deletions src/MainDemo.Wpf/Tabs.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -756,8 +756,9 @@
</smtx:XamlDisplay>

<Border Width="720"
BorderBrush="{DynamicResource MaterialDesign.Brush.Primary}"
BorderThickness="1">
Margin="0,0,0,16"
BorderBrush="{DynamicResource MaterialDesign.Brush.Primary}"
BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
Expand Down Expand Up @@ -837,5 +838,266 @@
</Grid>
</Border>

<Border Width="720"
Margin="0,0,0,16"
BorderBrush="{DynamicResource MaterialDesign.Brush.Primary}"
BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="50" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="*" MinWidth="50" />
</Grid.ColumnDefinitions>

<materialDesign:ColorZone Grid.ColumnSpan="2"
Padding="8"
Mode="PrimaryMid">
<TextBlock Text="materialDesign:TabAssist.UseNavigationPanel=&quot;True&quot;" />
</materialDesign:ColorZone>

<materialDesign:ColorZone Grid.Column="2"
Padding="8"
Mode="PrimaryMid">
<TextBlock Text="materialDesign:TabAssist.HeaderPanelCustomContent=&quot;...&quot;" />
</materialDesign:ColorZone>

<smtx:XamlDisplay Grid.Row="1"
Grid.Column="0"
Margin="16"
UniqueKey="tabs_tabAssist_3">
<TabControl materialDesign:TabAssist.HeaderBehavior="Scrolling"
materialDesign:TabAssist.UseNavigationPanel="True"
ItemsSource="{Binding LongList}"
Style="{StaticResource MaterialDesignTabControl}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ., StringFormat=Header {0}}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Margin="10"
FontSize="18"
Text="{Binding ., StringFormat=Content {0}}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</smtx:XamlDisplay>

<GridSplitter Grid.RowSpan="2"
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" />

<smtx:XamlDisplay Grid.Row="1"
Grid.Column="2"
Margin="16"
UniqueKey="tabs_tabAssist_4">
<TabControl materialDesign:TabAssist.HeaderBehavior="Scrolling"
ItemsSource="{Binding LongList}"
Style="{StaticResource MaterialDesignTabControl}">
<materialDesign:TabAssist.HeaderPanelCustomContent>
<Button Content="{materialDesign:PackIcon Kind=Plus}" Margin="8,0,0,0" />
</materialDesign:TabAssist.HeaderPanelCustomContent>
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ., StringFormat=Header {0}}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Margin="10"
FontSize="18"
Text="{Binding ., StringFormat=Content {0}}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</smtx:XamlDisplay>

</Grid>
</Border>

<Border Width="720"
Margin="0,0,0,16"
BorderBrush="{DynamicResource MaterialDesign.Brush.Primary}"
BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="50" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="*" MinWidth="50" />
</Grid.ColumnDefinitions>

<materialDesign:ColorZone Grid.ColumnSpan="2"
Padding="8"
Mode="PrimaryMid">
<TextBlock Text="materialDesign:TabAssist.NavigationPanelPlacement=&quot;Left&quot;" />
</materialDesign:ColorZone>

<materialDesign:ColorZone Grid.Column="2"
Padding="8"
Mode="PrimaryMid">
<TextBlock Text="materialDesign:TabAssist.NavigationPanelPlacement=&quot;Right&quot;" />
</materialDesign:ColorZone>

<smtx:XamlDisplay Grid.Row="1"
Grid.Column="0"
Margin="16"
UniqueKey="tabs_tabAssist_5">
<TabControl materialDesign:TabAssist.HeaderBehavior="Scrolling"
materialDesign:TabAssist.UseNavigationPanel="True"
materialDesign:TabAssist.NavigationPanelPlacement="Left"
ItemsSource="{Binding LongList}"
Style="{StaticResource MaterialDesignTabControl}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ., StringFormat=Header {0}}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Margin="10"
FontSize="18"
Text="{Binding ., StringFormat=Content {0}}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</smtx:XamlDisplay>

<GridSplitter Grid.RowSpan="2"
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" />

<smtx:XamlDisplay Grid.Row="1"
Grid.Column="2"
Margin="16"
UniqueKey="tabs_tabAssist_6">
<TabControl materialDesign:TabAssist.HeaderBehavior="Scrolling"
materialDesign:TabAssist.UseNavigationPanel="True"
materialDesign:TabAssist.NavigationPanelPlacement="Right"
ItemsSource="{Binding LongList}"
Style="{StaticResource MaterialDesignTabControl}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ., StringFormat=Header {0}}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Margin="10"
FontSize="18"
Text="{Binding ., StringFormat=Content {0}}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</smtx:XamlDisplay>

</Grid>
</Border>


<Border Width="720"
Margin="0,0,0,16"
BorderBrush="{DynamicResource MaterialDesign.Brush.Primary}"
BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="50" />
<ColumnDefinition Width="2" />
<ColumnDefinition Width="*" MinWidth="50" />
</Grid.ColumnDefinitions>

<materialDesign:ColorZone Grid.ColumnSpan="2"
Padding="8"
Mode="PrimaryMid">
<TextBlock Text="materialDesign:TabAssist.NavigationPanelBehavior=&quot;Scroll&quot;" />
</materialDesign:ColorZone>

<materialDesign:ColorZone Grid.Column="2"
Padding="8"
Mode="PrimaryMid">
<TextBlock Text="materialDesign:TabAssist.NavigationPanelBehavior=&quot;Select&quot;" />
</materialDesign:ColorZone>

<smtx:XamlDisplay Grid.Row="1"
Grid.Column="0"
Margin="16"
UniqueKey="tabs_tabAssist_7">
<TabControl materialDesign:TabAssist.HeaderBehavior="Scrolling"
materialDesign:TabAssist.UseNavigationPanel="True"
materialDesign:TabAssist.NavigationPanelBehavior="Scroll"
ItemsSource="{Binding LongList}"
Style="{StaticResource MaterialDesignTabControl}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ., StringFormat=Header {0}}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Margin="10"
FontSize="18"
Text="{Binding ., StringFormat=Content {0}}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</smtx:XamlDisplay>

<GridSplitter Grid.RowSpan="2"
Grid.Column="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch" />

<smtx:XamlDisplay Grid.Row="1"
Grid.Column="2"
Margin="16"
UniqueKey="tabs_tabAssist_8">
<TabControl materialDesign:TabAssist.HeaderBehavior="Scrolling"
materialDesign:TabAssist.UseNavigationPanel="True"
materialDesign:TabAssist.NavigationPanelBehavior="Select"
ItemsSource="{Binding LongList}"
Style="{StaticResource MaterialDesignTabControl}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding ., StringFormat=Header {0}}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Margin="10"
FontSize="18"
Text="{Binding ., StringFormat=Content {0}}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</smtx:XamlDisplay>

</Grid>
</Border>
</StackPanel>
</UserControl>
Loading
Loading