Ваш конструктор:
public ClockControl(String city)
{
InitializeComponent();
this.initController();
//...
}
Прежде всего, если вы хотите использовать ClockControl
из XAML, тогда вам нужен конструктор по умолчанию, то есть конструктор, который не принимает никаких параметров. Таким образом, приведенный выше конструктор не будет работать.
Я бы предложил вам определить свойство с именем City
, предпочтительно свойство зависимости, а затем использовать его из XAML. Примерно так:
public class ClockControl: UserControl
{
public static readonly DependencyProperty CityProperty = DependencyProperty.Register
(
"City",
typeof(string),
typeof(ClockControl),
new PropertyMetadata(string.Empty)
);
public string City
{
get { return (string)GetValue(CityProperty); }
set { SetValue(CityProperty, value); }
}
public ClockControl()
{
InitializeComponent();
}
//..........
}
Тогда вы можете написать это на XAML:
<myControl:ClockControl City="Hyderabad" />
Поскольку City
является свойством зависимости, это означает, что вы даже можете сделать Binding
следующим образом:
<myControl:ClockControl City="{Binding Location}" />
Надеюсь, это решит вашу проблему!