Browse Source

Added initial ContextMenu attachedProperty.

pull/405/head
danwalmsley 10 years ago
parent
commit
d2a6b89434
  1. 4
      samples/XamlTestApplicationPcl/Views/MainWindow.paml
  2. 20
      src/Perspex.Controls/ContextMenu.cs
  3. 1
      src/Perspex.Controls/Perspex.Controls.csproj
  4. 15
      src/Perspex.Themes.Default/ContextMenu.paml
  5. 1
      src/Perspex.Themes.Default/DefaultTheme.paml
  6. 3
      src/Perspex.Themes.Default/Perspex.Themes.Default.csproj

4
samples/XamlTestApplicationPcl/Views/MainWindow.paml

@ -38,7 +38,9 @@
</TabItem>
<TabItem Header="Text">
<StackPanel Margin="10" Gap="4">
<TextBlock Text="TextBlock" FontWeight="Medium" FontSize="20" Foreground="#212121" />
<TextBlock Text="TextBlock" FontWeight="Medium" FontSize="20" Foreground="#212121">
<ContextMenu.Menu></ContextMenu.Menu>
</TextBlock>
<TextBlock Text="A control for displaying text."
FontSize="13"
Foreground="#727272"

20
src/Perspex.Controls/ContextMenu.cs

@ -0,0 +1,20 @@
namespace Perspex.Controls
{
using Primitives;
public class ContextMenu : SelectingItemsControl
{
public static readonly AttachedProperty<ContextMenu> MenuProperty =
PerspexProperty.RegisterAttached<ContextMenu, TextBlock, ContextMenu>("Menu");
public static ContextMenu GetMenu(TextBlock element)
{
return element.GetValue(MenuProperty);
}
public static void SetMenu(TextBlock element, ContextMenu value)
{
element.SetValue(MenuProperty, value);
}
}
}

1
src/Perspex.Controls/Perspex.Controls.csproj

@ -43,6 +43,7 @@
<Link>Properties\SharedAssemblyInfo.cs</Link>
</Compile>
<Compile Include="Classes.cs" />
<Compile Include="ContextMenu.cs" />
<Compile Include="DockPanel.cs" />
<Compile Include="Expander.cs" />
<Compile Include="Generators\ItemContainer.cs" />

15
src/Perspex.Themes.Default/ContextMenu.paml

@ -0,0 +1,15 @@
<Style xmlns="https://github.com/perspex" Selector="ContextMenu">
<Setter Property="Template">
<ControlTemplate>
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}">
<ItemsPresenter Name="PART_ItemsPresenter"
Items="{TemplateBinding Items}"
ItemsPanel="{TemplateBinding ItemsPanel}"
KeyboardNavigation.TabNavigation="Continue"/>
</Border>
</ControlTemplate>
</Setter>
</Style>

1
src/Perspex.Themes.Default/DefaultTheme.paml

@ -11,6 +11,7 @@
<StyleInclude Source="resm:Perspex.Themes.Default.ListBox.paml?assembly=Perspex.Themes.Default"/>
<StyleInclude Source="resm:Perspex.Themes.Default.ListBoxItem.paml?assembly=Perspex.Themes.Default"/>
<StyleInclude Source="resm:Perspex.Themes.Default.Menu.paml?assembly=Perspex.Themes.Default"/>
<StyleInclude Source="resm:Perspex.Themes.Default.ContextMenu.paml?assembly=Perspex.Themes.Default"/>
<StyleInclude Source="resm:Perspex.Themes.Default.MenuItem.paml?assembly=Perspex.Themes.Default"/>
<StyleInclude Source="resm:Perspex.Themes.Default.PopupRoot.paml?assembly=Perspex.Themes.Default"/>
<StyleInclude Source="resm:Perspex.Themes.Default.ProgressBar.paml?assembly=Perspex.Themes.Default"/>

3
src/Perspex.Themes.Default/Perspex.Themes.Default.csproj

@ -147,6 +147,9 @@
<EmbeddedResource Include="DropDownItem.paml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ContextMenu.paml">
<SubType>Designer</SubType>
</EmbeddedResource>
<None Include="packages.config" />
<EmbeddedResource Include="PopupRoot.paml">
<SubType>Designer</SubType>

Loading…
Cancel
Save