Как связать статические свойства класса для просмотра с использованием MVVM и Silverlight 4 - PullRequest
0 голосов
/ 09 марта 2012

Я создал класс, который имеет статические свойства. Теперь я хотел бы связать все с текстовым полем. но я не смог связать.

Класс со статическими свойствами:

namespace QSys.Library.Security
{
    public class CustomerServiceData
    {
        public static string UserName
        {
            get
            {
                return "Imdad";
            }
        }
    }
}

Page.xaml

<UserControl  x:Class="QSys.Admin.Views.AdminHomeView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:my="clr-namespace:QSys.Library.Security;assembly=QSys.Library"
    mc:Ignorable="d"
    d:DesignHeight="400" d:DesignWidth="640">
    <UserControl.Resources>
        <my:CustomerServiceData  x:Name="mySecurity" />
    </UserControl.Resources>
    <Grid>
         <TextBox Text="{Binding Source={StaticResource mySecurity}, Path=CustomerServiceData.UserName}" ></TextBox>
    </Grid>
</UserControl>

Кто-нибудь может подсказать мне, почему я не получаю значения в моем текстовом поле? даже это не дает мне никакой ошибки.

Спасибо, Imdadhusen

Ответы [ 2 ]

1 голос
/ 28 декабря 2015

Вы указываете неверный путь, и всегда указывается ключ к добавленному вами ресурсу. Ниже приведены изменения, которые необходимо выполнить, чтобы он работал:

 <UserControl.Resources> 
<my:CustomerServiceData  x:Key="mySecurity" />
 </UserControl.Resources>

В текстовых полях по умолчанию используются двусторонние привязки, поэтому вы получите сообщение об ошибке, если не установите его в OneWay, поскольку он также будет искать установщик в вашем свойстве, определенном из-за двухстороннего связывания beahviour.

<TextBox Text="{Binding Source={StaticResource mySecurity},Mode=OneWay, Path=UserName}" >
</TextBox>
0 голосов
/ 09 марта 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...