I want to access a specific control inside my DataTemplate
and set it's ValueConverter
from CodeBehind.
The ValueConverter
should be passed in from the using page/control.
My MainPage is using UserControls from a different project, because they should be used in most of my applications.
The UserControl
looks like this:
<Grid>
<ListView Name="SampleListView">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Name="SampleGrid">
<TextBlock Name="SampleTextBox" Text="{Binding BindingProperty}" />
<TextBlock Name="TextBoxIWantToAccess" Foreground="{Binding SampleDateTime, Converter={StaticResource DateTimeToColorConverter}}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
So my suggestion was first to access it from code behind but it did not work...
I've tried this: Binding(Converter) in Code Behind
in combination with this: WPF How to access control from DataTemplate
but it did not work
So now my suggestion is that I could also do it like this in code
public MyUserControl1(IValueConverter converter)
{
this.InitializeComponent();
this.Resources.Add("DateTimeToColorConverter", converter);
}
But it did not work...
Maybe it is ... Converter={StaticResource DateTimeToColorConverter}}"
and it should not be specified as a StaticResource because it is from CodeBehind
But I tried a lot of combinations and it did not work...
Any suggestions?