Я понимаю, что этот вопрос очень старый, но я думал, что все равно поделюсь альтернативным решением. Он использует поведение WPF / прикрепленные свойства:
public static class TextBlockExtensions
{
public static IEnumerable<Inline> GetBindableInlines ( DependencyObject obj )
{
return (IEnumerable<Inline>) obj.GetValue ( BindableInlinesProperty );
}
public static void SetBindableInlines ( DependencyObject obj, IEnumerable<Inline> value )
{
obj.SetValue ( BindableInlinesProperty, value );
}
public static readonly DependencyProperty BindableInlinesProperty =
DependencyProperty.RegisterAttached ( "BindableInlines", typeof ( IEnumerable<Inline> ), typeof ( TextBlockExtensions ), new PropertyMetadata ( null, OnBindableInlinesChanged ) );
private static void OnBindableInlinesChanged ( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
var Target = d as TextBlock;
if ( Target != null )
{
Target.Inlines.Clear ();
Target.Inlines.AddRange ( (System.Collections.IEnumerable) e.NewValue );
}
}
}
В вашем XAML используйте его следующим образом:
<TextBlock MyBehaviors:TextBlockExtensions.BindableInlines="{Binding Foo}" />
Это избавляет вас от необходимости наследовать от TextBlock. Он также может работать с использованием ObservableCollection вместо IEnumerable, в этом случае вам нужно будет подписаться на изменения коллекции.
После часа игры моим решением было удалить testdirectory/a.html и testdirectory/b.html вручную - после этого git сообщил о них как об "удаленных" (на самом деле я не хотел их удалять), но это дало мне возможность сделать git pull и получить изменения, когда проблема была исправлена другим пользователем.
Краткие шаги:
Примечание: ранее git pull не мог быть выполнен из-за ошибки конфликта слияния.
Я не совсем понял, что произошло, но это решило мою проблему. На мой взгляд, Git все еще довольно сложен, как Perl, и команды в основном отражают внутреннее устройство git, а не намерения пользователя :-)
.Вы можете проверить, переписал ли git окончания строк (git diff показывает, что файл заменен самим собой, только с другими окончаниями строк). В этом случае вам следует изучить Какая лучшая стратегия обработки CRLF (возврат каретки, перевод строки) в Git? .