powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Топик ненависти к WPF
25 сообщений из 336, страница 9 из 14
Топик ненависти к WPF
    #36693523
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

Ну дык если пошла борьба с инструментом - чего ждать?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36693976
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I've WPFНезаменимых у нас нет. Создаем свойство IsInitialized. Инициализацию делаем только, если значение этого свойства = false, после инициализации переводим его в true.
Код: plaintext
1.
2.
3.
4.
5.
6.
RoutedEventHandler targetOnceLoaded = null;
targetOnceLoaded = (s, e) =>
{
    target.Loaded -= targetOnceLoaded;    
    Debug.WriteLine("I hate WPF.");
}; 
target.Loaded += targetOnceLoaded;
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36694184
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилНу дык если пошла борьба с инструментом - чего ждать?
Будем плодить Magic Pattern'ы?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36694625
i've wpf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КI\'ve WPFНезаменимых у нас нет. Создаем свойство IsInitialized. Инициализацию делаем только, если значение этого свойства = false, после инициализации переводим его в true.
Код: plaintext
1.
2.
3.
4.
5.
6.
RoutedEventHandler targetOnceLoaded = null;
targetOnceLoaded = (s, e) =>
{
    target.Loaded -= targetOnceLoaded;    
    Debug.WriteLine(\"I hate WPF.\");
}; 
target.Loaded += targetOnceLoaded;


IsInitialized - вариант для ViewModel.Где и для чего нужны практальные методы с контролами?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36694850
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i've wpfГде и для чего нужны практальные методы с контролами?Мало ли чего...
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36699307
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кхе...

WPF, MVVM, стандартная вьюмодель с INotifyPropertyChanged, с примитивными (условно говоря - String) и коллекционными (List<String>) пропертями, обычная вьюха с текстбоксами и комбобоксами, текстбоксы вьюхи прибиндены к примитивным пропертям вьюмодели, SelectedValue вьюхи прибиндены к примитивным пропертям вьюмодели, ItemSource комбобоксов прибиндены к коллекционным пропертям вьюмодели. Всё стандартно вроде бы. И вроде всё работает как надо. Но.

Как только делаю view.DataContext = null, так тут же зачем-то получаю обнуление (установку в null) свойств вьюмодели, но не всех, а только тех, к которым прибиндены SelectedValue у комбобоксов (бинды текстбоксов, итемсорсов и команд не затрагиваются)

Внимание, вопрос - я делаю что-то не так, или же я ненавижу WPF?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36699572
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛПкхе...

WPF, MVVM, стандартная вьюмодель с INotifyPropertyChanged, с примитивными (условно говоря - String) и коллекционными (List<String>) пропертями, обычная вьюха с текстбоксами и комбобоксами, текстбоксы вьюхи прибиндены к примитивным пропертям вьюмодели, SelectedValue вьюхи прибиндены к примитивным пропертям вьюмодели, ItemSource комбобоксов прибиндены к коллекционным пропертям вьюмодели. Всё стандартно вроде бы. И вроде всё работает как надо. Но.

Как только делаю view.DataContext = null, так тут же зачем-то получаю обнуление (установку в null) свойств вьюмодели, но не всех, а только тех, к которым прибиндены SelectedValue у комбобоксов (бинды текстбоксов, итемсорсов и команд не затрагиваются)

Внимание, вопрос - я делаю что-то не так, или же я ненавижу WPF?Баян.

Там же чуть ниже небольшой срач по этой проблеме и одно из её решений.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36700462
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К... и одно из её решений.Впрочем, не самое удачное. Нынче модно через attached property...
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36700512
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Впрочем, если я ничего не путаю - "это" в WPF 4 исправлено.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36700621
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КБаян.

Там же чуть ниже небольшой срач по этой проблеме и одно из её решений.
Не то.
Я же не трогаю ItemsSource
Я никакие пропертя вьюмодели не трогаю.
Я вообще не трогаю вьюмодель.
Я трогаю вьюху, но даже у вьюхи я не затрагиваю биндинги, просто отцепляю её от вьюмодели. И при этом отцеплении идёт обнуление свойств вьюмодели, причём не всех.

т.е. код такой:

View.xaml
Код: plaintext
<UserControl x:Class="WpfApplication5.View"\n    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\n    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">\n    <StackPanel>\n        <ComboBox ItemsSource="{Binding Path=Items, Mode=OneTime}" SelectedValue="{Binding Path=SelectedItem}"/>\n        <TextBox Text="{Binding Path=SomeProperty}"/>\n    </StackPanel>\n</UserControl>

ViewModel.cs
Код: plaintext
public class ViewModel : INotifyPropertyChanged\n{\n    public event PropertyChangedEventHandler PropertyChanged;\n    private void InvokePropertyChanged(String propertyName)\n    {\n        PropertyChangedEventHandler propertyChanged = PropertyChanged;\n        if (propertyChanged != null) propertyChanged(this, new PropertyChangedEventArgs(propertyName));\n    }\n\n    public IEnumerable<String> Items { get; private set; }\n    private string _selectedItem;\n    public String SelectedItem\n    {\n        get { return _selectedItem; }\n        set\n        {\n            if (_selectedItem == value) return;\n\n            _selectedItem = value;\n            InvokePropertyChanged("SelectedItem");\n\n            Console.WriteLine("SelectedItem: " + (value ?? "null"));\n        }\n    }\n\n    private string _someProperty;\n    public String SomeProperty\n    {\n        get { return _someProperty; }\n        set\n        {\n            if (_someProperty == value) return;\n\n            _someProperty = value;\n            InvokePropertyChanged("SomeProperty");\n\n            Console.WriteLine("SomeProperty: " + (value ?? "null"));\n        }\n    }\n\n    public ViewModel()\n    {\n        Items = new List<string> {"aaaa", "bbbb", "cccc", "dddd"};\n        SelectedItem = "aaaa";\n    }\n}

Window1.xaml
Код: plaintext
<Window x:Class="WpfApplication5.Window1"\n    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\n    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\n    Title="Window1" Height="300" Width="300">\n    <StackPanel>\n        <ContentControl Name="ContentControl1" Height="100" />\n        <Button Content="Load" Click="Load"/>\n        <Button Content="Unload" Click="Unload"/>\n    </StackPanel>\n</Window>

Window1.xaml.cs
Код: plaintext
public partial class Window1 : Window\n{\n    public Window1()\n    {\n        InitializeComponent();\n    }\n\n    private void Load(object sender, RoutedEventArgs e)\n    {\n        ContentControl1.Content = new View {DataContext = new ViewModel()};\n    }\n\n    private void Unload(object sender, RoutedEventArgs e)\n    {\n        var view = ContentControl1.Content as FrameworkElement;\n        // При исполнении следующей строчки идёт обнуление св-ва SelectedItem у вьюмодели\n        if(view!=null) view.DataContext = null;\n        ContentControl1.Content = null;\n    }\n}
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36701023
Фотография Шайтан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП,

2 (два) упоминавшихся здесь паттерна решат эти проблемы - спагетти_код и баттон_клик
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36701358
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36701556
i've wpf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛПАлексей КБаян.

Там же чуть ниже небольшой срач по этой проблеме и одно из её решений.
Не то.
Я же не трогаю ItemsSource
Я никакие пропертя вьюмодели не трогаю.
Я вообще не трогаю вьюмодель.
Я трогаю вьюху, но даже у вьюхи я не затрагиваю биндинги, просто отцепляю её от вьюмодели. И при этом отцеплении идёт обнуление свойств вьюмодели, причём не всех.

т.е. код такой:

View.xaml
+
Код: plaintext
<UserControl x:Class="WpfApplication5.View"\n    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\n    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">\n    <StackPanel>\n        <ComboBox ItemsSource="{Binding Path=Items, Mode=OneTime}" SelectedValue="{Binding Path=SelectedItem}"/>\n        <TextBox Text="{Binding Path=SomeProperty}"/>\n    </StackPanel>\n</UserControl>

ViewModel.cs
+
Код: plaintext
public class ViewModel : INotifyPropertyChanged\n{\n    public event PropertyChangedEventHandler PropertyChanged;\n    private void InvokePropertyChanged(String propertyName)\n    {\n        PropertyChangedEventHandler propertyChanged = PropertyChanged;\n        if (propertyChanged != null) propertyChanged(this, new PropertyChangedEventArgs(propertyName));\n    }\n\n    public IEnumerable<String> Items { get; private set; }\n    private string _selectedItem;\n    public String SelectedItem\n    {\n        get { return _selectedItem; }\n        set\n        {\n            if (_selectedItem == value) return;\n\n            _selectedItem = value;\n            InvokePropertyChanged("SelectedItem");\n\n            Console.WriteLine("SelectedItem: " + (value ?? "null"));\n        }\n    }\n\n    private string _someProperty;\n    public String SomeProperty\n    {\n        get { return _someProperty; }\n        set\n        {\n            if (_someProperty == value) return;\n\n            _someProperty = value;\n            InvokePropertyChanged("SomeProperty");\n\n            Console.WriteLine("SomeProperty: " + (value ?? "null"));\n        }\n    }\n\n    public ViewModel()\n    {\n        Items = new List<string> {"aaaa", "bbbb", "cccc", "dddd"};\n        SelectedItem = "aaaa";\n    }\n}

Window1.xaml
+
Код: plaintext
<Window x:Class="WpfApplication5.Window1"\n    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"\n    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"\n    Title="Window1" Height="300" Width="300">\n    <StackPanel>\n        <ContentControl Name="ContentControl1" Height="100" />\n        <Button Content="Load" Click="Load"/>\n        <Button Content="Unload" Click="Unload"/>\n    </StackPanel>\n</Window>

Window1.xaml.cs
+
Код: plaintext
public partial class Window1 : Window\n{\n    public Window1()\n    {\n        InitializeComponent();\n    }\n\n    private void Load(object sender, RoutedEventArgs e)\n    {\n        ContentControl1.Content = new View {DataContext = new ViewModel()};\n    }\n\n    private void Unload(object sender, RoutedEventArgs e)\n    {\n        var view = ContentControl1.Content as FrameworkElement;\n        // При исполнении следующей строчки идёт обнуление св-ва SelectedItem у вьюмодели\n        if(view!=null) view.DataContext = null;\n        ContentControl1.Content = null;\n    }\n}

Не пробовал читать документацию прежде, чем забивать головой гвозди?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36701705
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i've wpfНе пробовал читать документацию прежде, чем забивать головой гвозди?
Нет конечно, я ж не читатель
По теме сказать есть чего?
Если нет, то и до свидания, не кашляй.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36701740
i've wpf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Могу и по теме.Прежде, чем смешить на форуме:
1. Прочитай хотя бы один букварь.Подозреваю, что одного раза будет мало, читай до дыр.
2. Затем выучи матчасть с контролами(у селекторов есть одно замечательное свойство,которое обуславливает подобное поведение)
3. Не мучай свою задницу изобретением "паттернов" button click, попробуй напрячь свои мозги, чтобы осилить хотя бы один готовый framework.
Тогда подобного бреда и стонов не будет.
ЗЫ Тебе тоже не болеть.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36702023
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i've wpf
<высерки мозга поскипаны>
...
у селекторов есть одно замечательное свойство,которое обуславливает подобное поведение
...
<высерки мозга поскипаны>

То есть ты утверждаешь, что такое поведение - это нормально, и обуславливается заданием какого-то свойства? Очень хорошо, это именно то, о чём я спрашивал, когда задавал вопрос "что я делаю не так".
Ну а теперь - ты уж не строй из себя красну девицу, не стесняйся, скажи, как это свойство называется. А я уж сумею найти, во что его установить.

И ежели оно сработает в FW 3.5, то у меня тут же возникнет вопрос, почему оно не работает в FW 4.0 (ибо подобное поведение, хоть по твоим словам и обусловлено каким-то свойством и является нормальным, однако же не наблюдается в 4.0).
Неужто злые майкрософтовцы исправили правильное поведение на неправильное?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36702060
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛПНе то.
Я же не трогаю ItemsSource
Я никакие пропертя вьюмодели не трогаю.
Я вообще не трогаю вьюмодель.
Я трогаю вьюху, но даже у вьюхи я не затрагиваю биндинги, просто отцепляю её от вьюмодели. И при этом отцеплении идёт обнуление свойств вьюмодели, причём не всех.Ну у тебя датабиндинг привязан к свойству ItemsSource и ты меняешь DataContext. Впрочем, может я и ошибаюсь, просто предположил. :-)
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36702066
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу у тебя датабиндинг привязан к свойству ItemsSource и ты меняешь DataContext. Впрочем, может я и ошибаюсь, просто предположил. :-)
Да не ошибаешься, правильно предположил.
Действительно, привязка к ItemsSource. Действительно, меняю датаконтекст. Но ItemsSource то я не меняю, поэтому твой тынц - это всё-таки "не то".

Понятно, что ноги из одного и того же места растут. При смене датаконтекста меняется (обнуляется) итемссорс, при смене итемссорса сбрасывается селектедайтем (уж так комбобокс уроды реализовали).
Но почему, блин, нельзя было внутрях вьюхи сначала отцепить датаконтекст, а уже потом обнулять комбобоксовый итемссорс, пусть даже с последующим (обусловленным реализацией комбобокса) обнулением селектедайтема? Кривая реализация комбобокса так бы и осталась, куда б она делась, но эта комбобоксовая кривость хотя бы не проваливалась на уровень уже отцепленной вьюмодели.
А так - на одно говно наложилось другое, в итоге говно в квадрате.

Сидорасы, одним словом.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36702072
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
i've wpfМогу и по теме.Ну расскажи чё делать-то?

Сабж

ProblemIf you have an implicit Style that uses BaseOn that is located in App.xaml or in a Merged Resource Dictionary that is merged in App.xaml, the WPF & Silverlight Designer will always be in a read-only error state.
Gold Bar Error: InstanceBuilderException was thrown due to a document error: a loop was detected in the property expressions
Error List Error: A loop was detected in the property expressions
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36702147
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот зачем такое приходится писать?

Ненужный код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
    public class SkinManager
    {
        public static SkinManager I
        {
            get { return Singleton.GetInstance<SkinManager>(); }
        }

        ResourceDictionary _skinResources;

        public void SetSkin(Uri skinResourcesUri)
        {
            if (_skinResources != null)
                throw new InvalidOperationException("_skinResources != null");

            _skinResources = LoadResources(skinResourcesUri);
            Application.Current.Resources.MergedDictionaries.Insert(0, _skinResources);
            SetBasedOnForTypeStyles(Application.Current.Resources);
        }

        ResourceDictionary LoadResources(Uri uri)
        {
            var result = new ResourceDictionary();
            result.Source = uri;
            return result;
        }

        void SetBasedOnForTypeStyles(ResourceDictionary resources)
        {
            foreach (object key in resources.Keys)
            {
                Type typeKey = key as Type;
                if (typeKey != null)
                {
                    Style style = resources[typeKey] as Style;
                    if (style != null && style.BasedOn == null)
                    {
                        Style baseStyle = _skinResources[typeKey] as Style;
                        if (baseStyle != null)
                            style.BasedOn = baseStyle;
                    }
                }
            }

            foreach (ResourceDictionary mergedDictionary in resources.MergedDictionaries)
                if (mergedDictionary != _skinResources)
                    SetBasedOnForTypeStyles(mergedDictionary);
        }
    }
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36702909
I've WPF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей КНу вот зачем такое приходится писать?

+
Ненужный код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
    public class SkinManager
    {
        public static SkinManager I
        {
            get { return Singleton.GetInstance<SkinManager>(); }
        }

        ResourceDictionary _skinResources;

        public void SetSkin(Uri skinResourcesUri)
        {
            if (_skinResources != null)
                throw new InvalidOperationException("_skinResources != null");

            _skinResources = LoadResources(skinResourcesUri);
            Application.Current.Resources.MergedDictionaries.Insert(0, _skinResources);
            SetBasedOnForTypeStyles(Application.Current.Resources);
        }

        ResourceDictionary LoadResources(Uri uri)
        {
            var result = new ResourceDictionary();
            result.Source = uri;
            return result;
        }

        void SetBasedOnForTypeStyles(ResourceDictionary resources)
        {
            foreach (object key in resources.Keys)
            {
                Type typeKey = key as Type;
                if (typeKey != null)
                {
                    Style style = resources[typeKey] as Style;
                    if (style != null && style.BasedOn == null)
                    {
                        Style baseStyle = _skinResources[typeKey] as Style;
                        if (baseStyle != null)
                            style.BasedOn = baseStyle;
                    }
                }
            }

            foreach (ResourceDictionary mergedDictionary in resources.MergedDictionaries)
                if (mergedDictionary != _skinResources)
                    SetBasedOnForTypeStyles(mergedDictionary);
        }
    }

Код выдернут из контекста и не понятно, где и когда он вызывается. Но однозначно можно сказать, что знанием матчасти также отсутствует.
Необходимо вызывать Application.LoadComponent("Требуемый UriPack")
перед InitializeComponent().
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36702963
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I've WPFКод выдернут из контекста и не понятноКонтекст описан чуть выше.
I've WPFгде и когда он вызывается.При старте приложения. В например Application.OnStartup.
I've WPFНо однозначно можно сказать, что знанием матчасти также отсутствует.Ну к тебе и обратились за помощью.
I've WPFНеобходимо вызывать Application.LoadComponent("Требуемый UriPack")
перед InitializeComponent().Какая нах разница? Причём тут InitializeComponent?
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36703026
I've WPF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛПАлексей КНу у тебя датабиндинг привязан к свойству ItemsSource и ты меняешь DataContext. Впрочем, может я и ошибаюсь, просто предположил. :-)
Да не ошибаешься, правильно предположил.
Действительно, привязка к ItemsSource. Действительно, меняю датаконтекст. Но ItemsSource то я не меняю, поэтому твой тынц - это всё-таки "не то".

Понятно, что ноги из одного и того же места растут. При смене датаконтекста меняется (обнуляется) итемссорс, при смене итемссорса сбрасывается селектедайтем (уж так комбобокс уроды реализовали).
Но почему, блин, нельзя было внутрях вьюхи сначала отцепить датаконтекст, а уже потом обнулять комбобоксовый итемссорс, пусть даже с последующим (обусловленным реализацией комбобокса) обнулением селектедайтема? Кривая реализация комбобокса так бы и осталась, куда б она делась, но эта комбобоксовая кривость хотя бы не проваливалась на уровень уже отцепленной вьюмодели.
А так - на одно говно наложилось другое, в итоге говно в квадрате.

Сидорасы, одним словом.
Если данные должны синхронизироваться в два конца, то что должно произойти, когда на одном они обнуляются?
WPF нервно относится к нулевому datacontext, нигде я не видел подобного. Если тебе это нужно, то твоя нелучшая реализация(в так горячо вами обсуждаемом Prism, это делается без кода во view) самого дубого варианта - View First сделана криво.
В pwf 4.0 движок переделан, исправлены косяки, посему квадраты и проявляются.
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36703097
I've WPF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей ККакая нах разница? Причём тут InitializeComponent?
Сначала инициализируем контролы, а потом пытаемся им втолковать, как они должны смотреться?!
...
Рейтинг: 0 / 0
Топик ненависти к WPF
    #36703127
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I've WPFАлексей ККакая нах разница? Причём тут InitializeComponent?
Сначала инициализируем контролы, а потом пытаемся им втолковать, как они должны смотреться?!Ну посмотри уже постановку задачи. Речь идёт о присоединении скина через Application.Resources и о наследовании "дефолтных" стилей для типа и о неадекватном (наверное) поведении дизайнера.

В рантайме это работает, а дизайнер от этого гибнет.

Код: plaintext
1.
2.
3.
4.
<ResourceDictionary>    
    <Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}">

    .............
...
Рейтинг: 0 / 0
25 сообщений из 336, страница 9 из 14
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Топик ненависти к WPF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]