Skip to content

DOCINFRA-2341_merged_using_automation #1515

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 2 commits into from
Sep 24, 2024
Merged
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
266 changes: 152 additions & 114 deletions wpf/ToolBar/ToolBarAdv-state.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,120 +14,86 @@ ToolBarAdv provides different states such as Docking, Floating or Hidden. It can

{% highlight XAML %}

<syncfusion:ToolBarManager x:Name="toolBarManager" >

<syncfusion:ToolBarManager.TopToolBarTray>

<syncfusion:ToolBarTrayAdv >

<syncfusion:ToolBarAdv ToolBarName="Standard" Band="0">

<Button syncfusion:ToolBarAdv.Label="New Document"
syncfusion:ToolBarAdv.Icon="Images/NewDocumentHS.png">

<Image Source="Images/NewDocumentHS.png" Width="16" Height="16"/>

</Button>

<Button syncfusion:ToolBarAdv.Label="Open Document"
syncfusion:ToolBarAdv.Icon="Images/openHS.png">

<Image Source="Images/openHS.png" Width="16" Height="16"/>

</Button>

<syncfusion:ToolBarAdv Band="1" ToolBarName="Extras"
syncfusion:ToolBarManager.ToolBarState="Floating"
<syncfusion:ToolBarManager x:Name="toolBarManager" >
<syncfusion:ToolBarManager.TopToolBarTray>
<syncfusion:ToolBarTrayAdv >
<syncfusion:ToolBarAdv ToolBarName="Standard" Band="0">
<Button syncfusion:ToolBarAdv.Label="New Document"
syncfusion:ToolBarAdv.Icon="Images/New.png">
<Image Source="Images/New.png" Width="16" Height="16"/>
</Button>
<Button syncfusion:ToolBarAdv.Label="Open Document"
syncfusion:ToolBarAdv.Icon="Images/Open.png">
<Image Source="Images/Open.png" Width="16" Height="16"/>
</Button>
<syncfusion:ToolBarAdv Band="1" ToolBarName="Extras"
syncfusion:ToolBarManager.ToolBarState="Floating"
FloatingBarLocation="500,300">

<Button syncfusion:ToolBarAdv.Label="Insert Picture"
syncfusion:ToolBarAdv.Icon="Images/InsertPictureHS.png">

<Image Source="Images/InsertPictureHS.png" Width="16" Height="16"/>

</Button>

<Button syncfusion:ToolBarAdv.Label="Insert Hyperlink"
syncfusion:ToolBarAdv.Icon="Images/InsertHyperlinkHS.png">

<Image Source="Images/InsertHyperlinkHS.png" Width="16" Height="16"/>

</Button>

<Button syncfusion:ToolBarAdv.Label="Insert Table"
syncfusion:ToolBarAdv.Icon="Images/TableHS.png">

<Image Source="Images/TableHS.png" Width="16" Height="16"/>

</Button>

</syncfusion:ToolBarAdv>

</syncfusion:ToolBarAdv>

</syncfusion:ToolBarTrayAdv>

</syncfusion:ToolBarManager.TopToolBarTray>

<Grid >

<Grid.RowDefinitions>

<RowDefinition Height="*"/>

<RowDefinition Height="Auto"/>

</Grid.RowDefinitions>

<ScrollViewer >

<Grid Margin="20">

<Border CornerRadius="2" Background="Black"
Opacity="0.3" Width="600" Height="700">

<Border.Effect>

<BlurEffect Radius="15"/>

</Border.Effect>

</Border>

<RichTextBox Width="600" Height="700" Padding="20"></RichTextBox>

</Grid>

</ScrollViewer>

</Grid>

</syncfusion:ToolBarManager>


<Button syncfusion:ToolBarAdv.Label="Save Document"
syncfusion:ToolBarAdv.Icon="Images/Save.png">
<Image Source="Images/SaveDocument.png" Width="16" Height="16"/>
</Button>
<Button syncfusion:ToolBarAdv.Label="Insert Table"
syncfusion:ToolBarAdv.Icon="Images/Insert.png">
<Image Source="Images/InsertTable.png" Width="16" Height="16"/>
</Button>
</syncfusion:ToolBarAdv>
</syncfusion:ToolBarAdv>
</syncfusion:ToolBarTrayAdv>
</syncfusion:ToolBarManager.TopToolBarTray>
</syncfusion:ToolBarManager>

{% endhighlight %}

{% highlight C# %}


ToolBarAdv toolBar = new ToolBarAdv();

toolBar.FloatingBarLocation = new Point(500, 300);

ToolBarManager.SetToolBarState(toolBar, ToolBarState.Floating);

Grid1.Children.Add(toolBar);


ToolBarManager toolBarManager = new ToolBarManager();
//Initialize ToolBarTrayAdv
ToolBarTrayAdv toolBarTray = new ToolBarTrayAdv();
ToolBarAdv toolbar1 = new ToolBarAdv();
// Add a button to the toolbar1
toolbar1.Items.Add(new Button
{
Content = new Image
{
Source = new BitmapImage(new Uri("Images/Open.png")),
Stretch = Stretch.Uniform
},
Height = 40,
Width = 40,
ToolTip = "Open Folder",
Margin = new Thickness(5, 0, 5, 0)
});
// Add toolbar1 to the ToolBarTrayAdv
toolBarTray.ToolBars.Add(toolbar1);
// Set Floating location for the floating toolbar
toolbar1.FloatingBarLocation = new Point(500, 300);
// Set the floating toolbar state to floating
ToolBarManager.SetToolBarState(toolbar1, ToolBarState.Floating);
// Add buttons to the floating toolbar
toolbar1.Items.Add(new Button
{
Content = new Image
{
Source = new BitmapImage(new Uri("Images/Save.png")),
Stretch = Stretch.Uniform
},
Height = 40,
Width = 40,
ToolTip = "Save",
Margin = new Thickness(5, 0, 5, 0)
});
// Set the ToolBarTrayAdv as the top tray for the ToolBarManager
toolBarManager.TopToolBarTray = toolBarTray;
// Set the ToolBarManager as the main content
this.Content = toolBarManager;

{% endhighlight %}

{% endtabs %}

![ToolBarAdv-state-img1](ToolBarAdv-state-images/ToolBarAdv-state-img1.jpeg)


ToolBarAdv can be floated only when it is hosted in ToolBarManager.

## Specifying location for floating ToolBarAdv.
Expand All @@ -138,20 +104,14 @@ The location of the floating ToolBarAdv can be changed using the `FloatingBarLo

{% highlight XAML %}

<syncfusion:ToolBarAdv FloatingBarLocation="50,50"/>


<syncfusion:ToolBarAdv FloatingBarLocation="50,50"/>

{% endhighlight %}

{% highlight C# %}


ToolBarAdv toolBar = new ToolBarAdv();

toolBar.FloatingBarLocation = new Point(50, 50);


ToolBarAdv toolBar = new ToolBarAdv();
toolBar.FloatingBarLocation = new Point(50, 50);

{% endhighlight %}

Expand All @@ -172,19 +132,97 @@ Following code restricts docking at the top:

{% highlight XAML %}

<syncfusion:ToolBarManager CanDockAtTop="False"/>
<syncfusion:ToolBarManager CanDockAtTop="False"/>

{% endhighlight %}

{% highlight C# %}

ToolBarManager toolBarManager = new ToolBarManager();
toolBarManager.CanDockAtTop = false;

{% endhighlight %}

{% highlight C# %}
{% endtabs%}

## ToolBarStateChanged event

The [ToolBarStateChanged](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ToolBarAdv.html#Syncfusion_Windows_Tools_Controls_ToolBarAdv_ToolBarStateChanged) event is triggered when the state of a ToolBarAdv changes, such as when it is hidden, floated, or docked. This event passes an instance of [ToolBarStateChangedEventArgs](https://help.syncfusion.com/cr/wpf/Syncfusion.Windows.Tools.Controls.ToolBarStateChangedEventArgs.html), which contains information about the state change, including the old state and the new state of the toolbar.

ToolBarManager toolBarManager = new ToolBarManager();
NewState: Gets the current state of the ToolBarAdv control.

toolBarManager.CanDockAtTop = false;
OldState: Gets the previous state of the ToolBarAdv control.

{% tabs %}

{% highlight XAML %}

<syncfusion:ToolBarManager x:Name="toolBarManager" >
<syncfusion:ToolBarManager.TopToolBarTray>
<syncfusion:ToolBarTrayAdv >
<syncfusion:ToolBarAdv ToolBarStateChanged="Toolbar1_ToolBarStateChanged" ToolBarName="Standard" Band="0">
<Button syncfusion:ToolBarAdv.Label="Open Document"
syncfusion:ToolBarAdv.Icon="Images/Open.png">
<Image Source="Images/Open.png" Width="16" Height="16"/>
</Button>
<syncfusion:ToolBarAdv Band="1" ToolBarName="Extras">
<Button syncfusion:ToolBarAdv.Label="Save Document"
syncfusion:ToolBarAdv.Icon="Images/Save.png">
<Image Source="Images/Save.png" Width="16" Height="16"/>
</Button>
</syncfusion:ToolBarAdv>
</syncfusion:ToolBarAdv>
</syncfusion:ToolBarTrayAdv>
</syncfusion:ToolBarManager.TopToolBarTray>
</syncfusion:ToolBarManager>

{% endhighlight %}

{% highlight C# %}

ToolBarManager toolBarManager = new ToolBarManager();
ToolBarTrayAdv toolBarTray = new ToolBarTrayAdv();
ToolBarAdv toolbar1 = new ToolBarAdv();
// Subscribe to the ToolBarStateChanged event for toolbar1
toolbar1.ToolBarStateChanged += Toolbar1_ToolBarStateChanged;
toolbar1.Items.Add(new Button
{
Content = new Image
{
Source = new BitmapImage(new Uri("Images\\Open.png")),
Stretch = Stretch.Uniform
},
Height = 40,
Width = 40,
ToolTip = "Open Folder",
Margin = new Thickness(5, 0, 5, 0)
});
ToolBarAdv toolbar2 = new ToolBarAdv();
toolbar2.Items.Add(new Button
{
Content = new Image
{
Source = new BitmapImage(new Uri("Images\\Save.png")),
Stretch = Stretch.Uniform
},
Height = 40,
Width = 40,
ToolTip = "Save",
Margin = new Thickness(5, 0, 5, 0)
});
// Add ToolBars to the ToolBarTrayAdv
toolBarTray.ToolBars.Add(toolbar1);
toolBarTray.ToolBars.Add(toolbar2);
// Set the ToolBarTrayAdv as the top tray for the ToolBarManager
toolBarManager.TopToolBarTray = toolBarTray;
this.Content = toolBarManager;

private void Toolbar1_ToolBarStateChanged(object sender, ToolBarStateChangedEventArgs e)
{
// Access the new and old values
object oldValue = e.OldState;
object newValue = e.NewState;
}

{% endhighlight %}

Expand Down