Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 506
  • Last Modified:

WPF: Reference to a "cousin" element

Hi!

I search how to bind my data context to a cousin:

Simplified architecture:
StackPanel
-->StackPanel
----->GridView
----->....
--->StackPanel
------>textobxes

how my textboxes can get the reference to the gridview? I have to do this xaml side!

I tried ElementName, but it can't find it :(

Thank you!
0
Nargzul
Asked:
Nargzul
1 Solution
 
berXpertCommented:
You may try to define a CollectionViewSource, as explained in Bea Stollnitz page:

http://bea.stollnitz.com/blog/?p=387

CollectionViewSource can be used to sort, filter, group or track the current item, like in your sample.

Definition cab be done in XAML.
0
 
NargzulAuthor Commented:
@lucky85: I can't have a static resource, it's my code behind I want to reach, and data aren't loaded in constructor they are loaded dynamically when my usercontrol is loaded by his creator. It have to load data from my code behind, that is already existing and cannot be created from the xaml like you do

@berXpert: seems interessting, but are these 3 collections dependant form each other???

object Collection 1
--Object collection 2
----Object Collection 3
----Object Collection 3
----Object Collection 3
--ObjectCollection 2
----....
----....

The goal is to have some bind on the current element of the gridview
0
Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

 
berXpertCommented:
What element are you using for the GridView?

Does your GridView has a name?

Can you post your code?

I built a sample master - detail based on your information. I was able to get details from an ItemSource as a "cousin" element outside of the stack, attached sample code and picture
<Window
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
	x:Class="WpfApplication1.MainWindow"
	x:Name="Window"
	Title="MainWindow"
	Width="640" Height="480" mc:Ignorable="d">

	<Window.Resources>
		<DataTemplate x:Key="ItemTemplate">
			<Border Width="215.25" Height="44.92" BorderBrush="#FF24C94D" BorderThickness="2">
				<Grid>
					<TextBlock Text="{Binding Name}" VerticalAlignment="Top"/>
					<CheckBox IsChecked="{Binding Property2}" HorizontalAlignment="Left" Margin="31.75,0,0,8" VerticalAlignment="Bottom" Width="69.25" d:LayoutOverrides="Width"/>
				</Grid>
			</Border>
		</DataTemplate>
	</Window.Resources>

	<Grid x:Name="LayoutRoot" DataContext="{Binding Source={StaticResource SampleDataSource}}">
		<StackPanel Margin="63,34,65,65">
			<Border Margin="20,0,59,0" Height="215" Background="#FFBFCE2E" BorderBrush="#FF681818" BorderThickness="1">
				<StackPanel>
					<ListBox Name="MyList" Margin="0,0,-2,0" Height="205" ItemTemplate="{DynamicResource ItemTemplate}" ItemsSource="{Binding Collection}"/>
				</StackPanel>
			</Border>
			<Border Margin="20,0,59,0" Height="118" BorderBrush="#FF610909" BorderThickness="1">
				<StackPanel>
					<TextBox Text="{Binding Path=SelectedItem.Name, Mode=OneWay, ElementName=MyList}" TextWrapping="Wrap"/>
					<TextBox Text="{Binding Path=SelectedItem.Number, Mode=OneWay, ElementName=MyList}" TextWrapping="Wrap"/>
					<Image Height="100" Source="{Binding SelectedItem.Photo, ElementName=MyList, Mode=Default}"/>
				</StackPanel>
			</Border>
		</StackPanel>
	</Grid>
</Window>

Open in new window

Q-26414613.jpg
0
 
NargzulAuthor Commented:
In fact it seems the problem is because I'm using a RadDocking below, and the raddocking works almost like a different windows

These are component of telerik
0
 
balbirsingh1976Commented:
Did you try RelativeSource in WPF? i think that can work for you.
0
 
NargzulAuthor Commented:
Yeah. The solution was to set from the code behind the datacontext to THIS, and access to a property.
0
 
NargzulAuthor Commented:
found myself the solution
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now