This example shows how to create BarStaticItem items, used to display static text within bars.
The following image shows the result:
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Namespace BarStaticItemEx
''' <summary>
''' Interaction logic for Window1.xaml
''' </summary>
Partial Public Class Window1
Inherits Window
Public Sub New()
InitializeComponent()
AddHandler rtfEditor.SelectionChanged, AddressOf rtfEditor_SelectionChanged
End Sub
Private Sub rtfEditor_SelectionChanged(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim line As Integer = 0
Dim col As Integer = 0
rtfEditor.CaretPosition.GetLineStartPosition(-100000, line)
col = rtfEditor.CaretPosition.GetOffsetToPosition(rtfEditor.CaretPosition.GetLineStartPosition(0))
staticItemLine.Content = "Line: " & (-line).ToString() & " Position: " & (-col).ToString()
End Sub
End Class
End Namespace
<Application x:Class="BarStaticItemEx.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="Window1.xaml" Startup="OnAppStartup_UpdateThemeName">
<Application.Resources>
</Application.Resources>
</Application>
Imports System
Imports System.Collections.Generic
Imports System.Configuration
Imports System.Data
Imports System.Linq
Imports System.Windows
Namespace BarStaticItemEx
''' <summary>
''' Interaction logic for App.xaml
''' </summary>
Partial Public Class App
Inherits Application
Private Sub OnAppStartup_UpdateThemeName(ByVal sender As Object, ByVal e As StartupEventArgs)
DevExpress.Xpf.Core.ApplicationThemeHelper.UpdateApplicationThemeName()
End Sub
End Class
End Namespace
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" x:Class="BarStaticItemEx.Window1" Title="Window1" Height="163.158" Width="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<dxb:BarContainerControl Grid.Row="0">
<dxb:ToolBarControl>
<dxb:BarButtonItem x:Name="itemCopy" Content="Copy" Glyph="{dx:DXImage Image=Copy_16x16.png}" />
<dxb:BarButtonItem x:Name="itemPaste" Content="Paste" Glyph="{dx:DXImage Image=Paste_16x16.png}" />
<dxb:BarButtonItem x:Name="itemUndo" Content="Undo" Glyph="{dx:DXImage Image=Undo_16x16.png}" />
<dxb:BarButtonItem x:Name="itemRedo" Content="Redo" Glyph="{dx:DXImage Image=Redo_16x16.png}" />
</dxb:ToolBarControl>
</dxb:BarContainerControl>
<RichTextBox Grid.Row="1" x:Name="rtfEditor" />
<dxb:StatusBarControl Grid.Row="2">
<dxb:BarStaticItem x:Name="staticItemDocName" Content="Document Name: " AutoSizeMode="Fill" />
<dxb:BarStaticItem x:Name="staticItemLine" Content="Line: " />
</dxb:StatusBarControl>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace BarStaticItemEx {
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window {
public Window1() {
InitializeComponent();
rtfEditor.SelectionChanged += new RoutedEventHandler(rtfEditor_SelectionChanged);
}
void rtfEditor_SelectionChanged(object sender, RoutedEventArgs e) {
int line = 0;
int col = 0;
rtfEditor.CaretPosition.GetLineStartPosition(-100000, out line);
col = rtfEditor.CaretPosition.GetOffsetToPosition(rtfEditor.CaretPosition.GetLineStartPosition(0));
staticItemLine.Content = "Line: " + (-line).ToString() + " Position: " + (-col).ToString();
}
}
}