Работа на Гексагональной сеткой

249
26 марта 2018, 22:32

Здравствуйте, я столкнулся с проблемой создание гексагональной сети в WPF и одно интересно решение в вопросе Гексагональная сетка .Я начинающий программист самоучка и решил оживить пример и потом про экспериментировать с ним, но столкнулся с такой проблемами как:

xmlns:view="clr-namespace:WpfApplication1"
// дальше строки
<view:FieldPositionToCoordinateXConverter x:Key="XConv"/>
<view:FieldPositionToCoordinateYConverter x:Key="YConv"/>

Последние строчки не работают так как пишет что view не обнаружено. А так же данная библиотека вообще не обнаружена :

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 

и из-за этого возникают проблемы. А так же в коде на С# не обнаружена вот эта строчка:

new RelayCommand(OnActivate);
Answer 1
  1. У вас должны быть классы FieldPositionToCoordinateXConverter и FieldPositionToCoordinateYConverter в пространстве имён WpfApplication1. Убедитесь, что они там действительно есть.

  2. Подключите System.Windows.Interactivity.dll. Для этого можно, например, установить Expression Blend SDK:

  3. RelayCommand должен быть в вашем MVVM-фреймворке. Если вы не пользуетесь фреймворками, можно определить самостоятельно. Например, так:

    class RelayCommand : RelayCommand<object>
    {
        public RelayCommand(Action execute) : base(_ => execute()) { }
        public RelayCommand(Action execute, Func<bool> canExecute) :
            base(_ => execute(), _ => canExecute()) { }
    }
    class RelayCommand<T> : ICommand
    {
        protected readonly Predicate<T> canExecute;
        protected readonly Action<T> execute;
        public event EventHandler CanExecuteChanged;
        public RelayCommand(Action<T> execute) : this(execute, _ => true) { }
        public RelayCommand(Action<T> execute, Predicate<T> canExecute)
        {
            this.execute = execute ??
                    throw new ArgumentNullException(nameof(execute));
            this.canExecute = canExecute ??
                    throw new ArgumentNullException(nameof(canExecute));
        }
        public bool CanExecute(object parameter) => canExecute((T)parameter);
        public void Execute(object parameter) => execute((T)parameter);
        public void RaiseCanExecuteChanged() =>
            CanExecuteChanged?.Invoke(this, EventArgs.Empty);
    }
READ ALSO
Проблема с обращением к Скрипту Button

Проблема с обращением к Скрипту Button

Здравствуйте , есть лист объектов, содержащий весь список уровней, который присутствует к игреЯ прохожу по этому списку и включаю картинки...

202
VkNet, c# Как авторизваться без приложения?

VkNet, c# Как авторизваться без приложения?

К примеру на питоне с помощью библиотеки vk_api, можно авторизваться зная только login и пароль

236
Почему вылетает IndexOutOfRangeExeption?

Почему вылетает IndexOutOfRangeExeption?

вылетает на строке heightMap[size, 0] = rndNext(0, 10); // Л-н если ввести 1

249
Как узнать грани Convex Mesh&#39;a?

Как узнать грани Convex Mesh'a?

Можно ли узнать грани выпуклого меша (у которого Convex включен)? У обычного Меш коллайдера эту функцию прекрасно выполнял RaycastHittriangleIndex

205