Как правильно связать текстовые данные RelativeSource в WPF? - PullRequest
3 голосов
/ 22 декабря 2010

Я определяю RelativeSource в своем шаблоне в XAML, с

DataContext="{Binding RelativeSource={RelativeSource Self}}"

Я получаю исключение

"Исключение первого шанса типа 'System.Windows.Markup.XamlParseException 'произошло в PresentationFramework.dll

Дополнительная информация: укажите значение для' System.Windows.Markup.StaticResourceHolder ', вызвавшего исключение. "

Я думаю, что проблема заключается в том, что мне нужно связать это послемои объявления Window.Resources, но я не уверен, как это сделать, используя теги <DataContext, и все еще использую RelativeSource.Спасибо!

<Window x:Class="SupportDesk.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Top Echelon Support Desk" Height="554" Width="743" xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input.Toolkit" xmlns:myNewNamespace="clr-namespace:SupportDesk"
    DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Window.Resources>
    <myNewNamespace:BoolToVisibilityConverter x:Key="boolToVis" />

    <Style TargetType="{x:Type TextBlock}"
  x:Key="GridBlockStyle">
        <Setter Property="VerticalAlignment" Value="Center" />
        <Setter Property="Visibility"
 Value="{Binding Path=IsSelected,
     RelativeSource={RelativeSource FindAncestor,
         AncestorType={x:Type ListViewItem}},
     Converter={StaticResource boolToVis},
         ConverterParameter=False}" />
    </Style>
</Window.Resources>

1 Ответ

3 голосов
/ 22 декабря 2010

Как насчет настройки DataContext для непосредственного дочернего элемента вашего окна?например,

<Window>
   <Grid DataContext="{Binding RelativeSource={RelativeSource Self}}">
   </Grid>
</Window>

Будет ли это работать для вас?

...