Comment on page
📜
XAML Notları | VSIX
Windows Presentation Form (WPF) ile kullanılan XAML hakkında notlar
IsDefault="True"
ile ↩ Enter tuşuna basıldığında odaklanmaIsCancel="True"
ile ⎋ Esc tuşuna basıldığında odaklanma<Component>.Focus()
ileInitializeComponent
sonrası odaklanma işlemleri yapılır
alanlarına bakabilirsin
platformUi:DialogWindow
, xaml objesinin en üstteki tagını temsil eder (sizde farklıdır)
<platformUi:DialogWindow.Resources>
<SolidColorBrush x:Key="brushWatermarkBackground" Color="White" />
</platformUi:DialogWindow.Resources>
<!--Title="Compare with history"-->
<Grid Background="{StaticResource brushWatermarkBackground}">
IsReadOnly="True"
ile değiştirilmesi engellenirAcceptsReturn="True"
ile ↩ Enter karakterini de kabul eder, çok satırlı metin girilebilirScrollViewer.VerticalScrollBarVisibility="Auto"
ile gerekirse kaydırma çubuğu gösterilir
xaml
dosyası içerisinde aşağıdaki gibi tanımlanan butonlar için kaynak kod örneği verilmiştir
<Button Margin="5" Padding="5" Click="OnCompare">Save</Button>
<Button Margin="5" Padding="5" Click="OnCancel">Cancel</Button>
public partial class <CLASS_NAME> : DialogWindow
{
public <CLASS_NAME>(string helpTopic) : base(helpTopic)
{
InitializeComponent();
}
private void OnCancel(object sender, RoutedEventArgs e)
{
this.Close();
}
private void OnCompare(object sender, RoutedEventArgs e)
{
// TODO
MessageBox.Show("Save");
}
}

- ➕
Add references
alanından gerekli bağımlılıkları ekliyoruz- PresentationCore
- PresentationFramework
- WindowsBase
- System.Xaml
alanlarına bakabilirsin.
Add new folder
ileDialogs
adı altında dizin açın- Dizine sağ tıklayıp
Add
-New İtem
-User Control (WPF)
ilexaml
vexaml.cs
dosyaları oluşturuyoruz *.xaml.cs
dosyasındakiUserControl
->DialogWindow
olarak güncellenecek*.xaml
dosyasına aşağıdaki değişiklikler yapılmıştırxmlns:platformUi="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0"
(15 değeri güncel sürümlerde değişebilir)platformUi:DialogWindow
WindowStartupLocation="CenterScreen" Width="500" Height="200"
<platformUi:DialogWindow x:Class="<Namespace>.<Class>"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:platformUi="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
Width="250" Height="250">
<!--Title="Compare with history"-->
<Border Margin="5" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Text="Compare with the given branch: " Margin="5"/>
<TextBox Grid.Row="1" x:Name="BranchTextBox" Margin="5" MaxHeight="100" Text="HEAD"
ScrollViewer.VerticalScrollBarVisibility="Auto"
/>
<TextBlock Grid.Row="2" Margin="5">Commit hash:</TextBlock>
<TextBlock Grid.Row="3" Margin="5" Opacity="0.5" FontSize="9">
Güncel sürümü kıyaslamak için <Bold>boş bırakın </Bold><LineBreak></LineBreak>
Önceki sürümlerle kıyaslamak için <Bold>~n</Bold> <LineBreak></LineBreak>
Tarihle kıyaslamak için <Bold>@{AA-GG-YYYY}</Bold>
</TextBlock>
<TextBox Grid.Row="4" x:Name="CommitHashTextBox" TextWrapping="Wrap" HorizontalAlignment="Stretch" Margin="5"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Row="5">
<Button Margin="5" Padding="5" Click="OnCompare" IsDefault="True">Compare</Button>
<Button Margin="5" Padding="5" Click="OnCancel" IsCancel="True">Cancel</Button>
</StackPanel>
</Grid>
</Border>
</platformUi:DialogWindow>
- Code tarafında aşağıdaki method ile diyalog penceresini gösteriyoruz
private void ShowCustomDialog()
{
var customDialog = new <Class>("Microsoft.VisualStudio.PlatformUI.DialogWindow")
{
HasMinimizeButton = false,
HasMaximizeButton = false
};
customDialog.ShowDialog();
}
alanlarına bakabilirsin
xaml
dosyası içerisinde aşağıdaki gibi tanımlanan butonlar için kaynak kod örneği verilmiştir
<Button Margin="5" Padding="5" Click="OnCompare">Save</Button>
<Button Margin="5" Padding="5" Click="OnCancel">Cancel</Button>
public partial class <CLASS_NAME> : DialogWindow
{
public <CLASS_NAME>(string helpTopic) : base(helpTopic)
{
InitializeComponent();
}
private void OnCancel(object sender, RoutedEventArgs e)
{
this.Close();
}
private void OnCompare(object sender, RoutedEventArgs e)
{
// TODO
MessageBox.Show("Save");
}
}
alanlarına bakabilirsin
Last modified 27d ago