logo
down
shadow

Caliburn.Micro and ContextMenu for DataGrid Row


Caliburn.Micro and ContextMenu for DataGrid Row

Content Index :

Caliburn.Micro and ContextMenu for DataGrid Row
Tag : chash , By : beng
Date : November 25 2020, 07:22 PM


Comments
No Comments Right Now !

Boards Message :
You Must Login Or Sign Up to Add Your Comments .

Share : facebook icon twitter icon

WPF Caliburn.Micro ItemsControl ContextMenu don't find method


Tag : chash , By : besn
Date : March 29 2020, 07:55 AM
around this issue give the x:Name="xImages" to the ItemsControl and then do the binding with ElementName to the ContextMenu using the Action.TargetWithoutContext, you had it right but the ScrollViewer isn't what has the Datacontext to the List of data, the ItemControl does since it has the ItemSource.
Was there a reason for naming the ScrollViewer?
<ItemsControl x:Name="xImages">

<ContextMenu Action.TargetWithoutContext="{Binding Path=DataContext, ElementName=xImages}">
<!-- Shortened -->
</ContextMenu>

</ItemsControl>

Caliburn Micro Action in ContextMenu with ControlTemplate


Tag : chash , By : Bo.
Date : March 29 2020, 07:55 AM
Any of those help Got it to work through a DependencyObject that is added to the ImageBlock, where I had to set the PlacementTarget of the ContextMenu to the ImageBlock. Strangely, setting the PlacementTarget of the ContextMenu through {Binding ...} to ImageBlock directly didn't work.

Caliburn Micro and ContextMenu results in target not found


Tag : chash , By : msugar
Date : March 29 2020, 07:55 AM
this will help Alright, I'm going to post the answer to my own question.
What you can do is use this: BindingProxy (thanks to Daniel)

Caliburn Micro not finding DataContext in ContextMenu within ListView


Tag : chash , By : arbeitandy
Date : March 29 2020, 07:55 AM
may help you . Your overriding what CM will do by placing the Command binding. Since the visual tree has no idea the context menu exists let alone the datacontext that is the purpose behind.
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
    <Setter Property="Tag" Value="{Binding Path=DataContext, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListView}}"/>
    <Setter Property="ContextMenu">
        <Setter.Value>
            <ContextMenu cal:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
               <MenuItem Header="Properties"  cal:Message.Attach="ShowProperties($dataContext)" >
                <MenuItem.Icon>
                    <Image Source="../PropertyIcon.png" />
                </MenuItem.Icon>
            </MenuItem>
            </ContextMenu>
        </Setter.Value>
    </Setter>
</Style>
</ListView.ItemContainerStyle>

Caliburn.micro get treeview's selected item by contextmenu onclick


Tag : chash , By : Mikael
Date : March 29 2020, 07:55 AM
I wish this help you You might have to move the Context Menu further into the TreeView, into the Item Template and add Context Menu to the Label/TextBlock you have in nodes.
For example, consider the following Employee tree (emulating since I do not know your data structure),
<TreeView.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding Positions}" >
                    <Label Content="{Binding DepartmentName}"/>
                    <HierarchicalDataTemplate.ItemTemplate>
                        <HierarchicalDataTemplate ItemsSource="{Binding Employees}" >
                            <Label Content="{Binding PositionName}"  Tag="{Binding DataContext, ElementName=TestControl}" >
                                <Label.ContextMenu>
                                    <ContextMenu cal:Action.TargetWithoutContext="{Binding PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
                                        <MenuItem Header="Add Element" cal:Message.Attach="[Event Click] = [Action AddElement($datacontext)]"/>
                                    </ContextMenu>
                                </Label.ContextMenu>
                            </Label>
                            <HierarchicalDataTemplate.ItemTemplate>
                                <DataTemplate>
                                    <Label Content="{Binding EmployeeName}" Tag="{Binding DataContext, ElementName=TestControl}">
                                        <Label.ContextMenu>
                                            <ContextMenu cal:Action.TargetWithoutContext="{Binding PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
                                                <MenuItem Header="Add Element" cal:Message.Attach="[Event Click] = [Action AddElement($datacontext)]"
                />
                                            </ContextMenu>
                                        </Label.ContextMenu>
                                    </Label>
                                </DataTemplate>
                            </HierarchicalDataTemplate.ItemTemplate>
                        </HierarchicalDataTemplate>
                    </HierarchicalDataTemplate.ItemTemplate>
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
Tag="{Binding DataContext, ElementName=TestControl}" 
cal:Action.TargetWithoutContext="{Binding PlacementTarget.Tag, RelativeSource={RelativeSource Self}}"
cal:Message.Attach="[Event Click] = [Action AddElement($datacontext)]"
<Window
        x:Class="WpfApp1.Views.ShellView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:cal="http://www.caliburnproject.org"
        Title="XmlData Tree Test"
        x:Name="TestControl"
        Width="250"
        Height="350"
        >
<HierarchicalDataTemplate DataType="root" ItemsSource="{Binding XPath=./*}" >
            <StackPanel Orientation="Horizontal">
                <TextBlock Margin="0" Text="ROOT"  Tag="{Binding DataContext, ElementName=TestControl}">
                    <TextBlock.ContextMenu>
                        <ContextMenu
                        cal:Action.TargetWithoutContext="{Binding PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
                            <MenuItem Header="Add Element" cal:Message.Attach="[Event Click] = [Action AddElement($datacontext)]" />
                        </ContextMenu>
                    </TextBlock.ContextMenu>
                    </TextBlock>
            </StackPanel>
        </HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="Node"
                                  ItemsSource="{Binding XPath=./*}">
            <StackPanel Orientation="Horizontal">
                <TextBlock Margin="0"
                           Text="Node:" />
                <TextBlock Margin="5,0,0,0"  Tag="{Binding DataContext, ElementName=TestControl}"
                           Text="{Binding XPath=@name}" >
                    <TextBlock.ContextMenu>
                        <ContextMenu
                            cal:Action.TargetWithoutContext="{Binding PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
                            <MenuItem Header="Add Element" cal:Message.Attach="[Event Click] = [Action AddElement($datacontext)]" />
                        </ContextMenu>
                    </TextBlock.ContextMenu>
                </TextBlock>
            </StackPanel>
        </HierarchicalDataTemplate>
Related Posts Related QUESTIONS :
  • C# GetProcessesByName: issue with colon
  • c# wpf | create complex object with user-defined name to Serialize into JSON
  • How can I get a instance of a generic list with reflection?
  • WPF XAML - Design time and visibility of textbox
  • EF Core and MySql query is too slow
  • Getting Registered App Display Name from an App Id
  • How to get all variables from a string
  • Delete entity with all childs connected
  • Azure Build agent cant´t find class library referance
  • Initialize Nested Dictionaries in c#
  • .Net Core Binding
  • Generic event test method, preventing code duplication
  • How do I keep the ellipses in the center when the screen is resized
  • How to require a property using JsonSchema.NET?
  • C# XDocument Element/Elements returns null
  • Autofac keyed service with IEnumerable relationship type
  • Installing EntityFramework via NuGet manager
  • Always Check if there is Internet Connection Xamarin forms
  • WCF OneWay service slows down when aspNetCompatibilityEnabled is set to false
  • Can we use JsonRequestBehavior.AllowGet with [HttpPost] attribute?
  • How to customize the Setup wizard with custom forms in Visual Studio setup project
  • C# ASP.NET - Use method from another class to create labels
  • C# List IList or IEnumerable as argument
  • Parsing File with C# And Replace method
  • Losing special unicode characters in encryption (C#)
  • Getting stored procedure returned value instead of row affected
  • How can I construct HTML using NameValuePair in android?
  • Loading a pop up page in ASP.net through a js file
  • How to pass alert or notification message from controller to View?
  • C# to pause, turn on ssas server, backup cube.... how to?
  • How to execute DataTable.Select() for a column of custom class type for a particular element in that C#
  • how to connect mysql8.0 with C#
  • Passing incorrect values into MultiValueConverter by MultiBinding
  • Can i use IEnumerator as Update func?
  • How to convert API Json response to C# Array?
  • Blazor Textfield Oninput User Typing Delay
  • Performing both layout and render transform results in wrong output
  • uwp beforetextchanged cursor moving in front of text
  • How to keep duplicates from a string[] exclude words from a List and print them out
  • .Net Core Strings.Asc/Mid/Chr/Len missing even after importing Microsoft.VisualBasic
  • How to return to previous search page without being asked to Confirm Form Re-submission and keeping the results on ASP.N
  • How set a identity scaffolding item/page how initial page in asp.net MVC core?
  • LINQ isn't calling Dispose on my IEnumerator when using Union and Select, expected behavior or bug?
  • What is "ByteArray.uncompress()" in AS3 equivalent to in C#?
  • Getting a specific letter from a string variable for my simple guessing game for clues
  • Send an email with Outlook without a subject --- dialog box issue
  • passing List<MyModel> from my controller in the "WebInterfaceProject" to the processor method in "D
  • How to convert Word document created from template by OpenXML into MemoryStream?
  • How can I make a single slider that changes the color of an object?
  • Remap JSON parameter in c#
  • What is the difference between "this ref" and "ref this" when talking about C# 7.2 ref extension met
  • Convert OpenSSL encryption into native C#
  • Accessing Properties in Razor Pages
  • How to get SOAP element value
  • Projection after Group
  • C# error cannot convert sytem.text.regularexpressions.match to string
  • Issues with Save/Load System in a Text Based Adventure game made with ScriptableObjects in Unity
  • VS2019 MSBuild.exe - ASP .Net MVC project fails to publish when using PublishProfile, but works when using OutDir parame
  • Does <pages validateRequest="false" /> in Web.config still matter?
  • How to send new request to redirect URL with new access token
  • shadow
    Privacy Policy - Terms - Contact Us © scrbit.com