Когда XAML-фрагмент создается изначально, я не думаю, что он знает что-либо о родительском контейнере, в который вы собираетесь его поместить, включая статические ресурсы, определенные в родительском контейнере. Попробуйте ссылаться на boolToVisibilityConverter внутри DataTemplate, используя взамен DataTemplate.Resources.
Одной из многочисленных прелестей Ruby является возможность расширения существующих классов своими собственными методами. Это называется "переоткрытие классов" или monkey-patching (значение последнего может варьироваться, однако).
Итак, посмотрите сюда:
car = {:make => "bmw", :year => "2003"}
# => {:make=>"bmw", :year=>"2003"}
car.to_json
# NoMethodError: undefined method `to_json' for {:make=>"bmw", :year=>"2003"}:Hash
# from (irb):11
# from /usr/bin/irb:12:in `<main>'
require 'json'
# => true
car.to_json
# => "{"make":"bmw","year":"2003"}"
Как видите, требование json
волшебным образом принесло метод to_json
в наш Hash
.
Добавьте следующую строку на вершине Вашего файла
require 'json'
Затем, можно использовать:
car = {:make => "bmw", :year => "2003"}
car.to_json
, С другой стороны, можно использовать:
JSON.generate({:make => "bmw", :year => "2003"})