1

新しい問題。

編集可能なデータ グリッドに情報を表示しています。ただし、列の 1 つはデータベースのパスワード フィールドです。パスワード テキスト ボックス コントロールのように、ユーザーに表示されるテキストをマスクすることは可能ですか? これはグリッドの XAML です: (参照している列は Credentials 列です)

 <sdk:DataGrid x:Name="grdApplications" 
                              HorizontalAlignment="Left" 
                              Height="570" Margin="10,39,0,0"
                              VerticalAlignment="Top" 
                              Width="1132" 
                              AlternatingRowBackground="#FFB4CDCD" 
                              AutoGenerateColumns="False" 
                              ItemsSource="{Binding Data, ElementName=Apps}" >
                    <sdk:DataGrid.Columns>
                        <sdk:DataGridTemplateColumn Header="Name">
                            <sdk:DataGridTemplateColumn.CellTemplate>
                                <DataTemplate x:Name="appTemplate">
                                    <HyperlinkButton Content="{Binding Name}" 
                                                     HorizontalAlignment="Left" 
                                                     VerticalAlignment="Center"
                                                     Foreground="#2020F0"
                                                     Click="lnkEditApp_Click" />
                                </DataTemplate>
                            </sdk:DataGridTemplateColumn.CellTemplate>
                        </sdk:DataGridTemplateColumn>
                        <sdk:DataGridTextColumn Header="Require Authentication?" Binding="{Binding Type}" />
                        <sdk:DataGridTextColumn Header="User ID" Binding="{Binding Data}" />
                        <sdk:DataGridTextColumn Header="Retry Count" Binding="{Binding Binding}" />
                        <sdk:DataGridTextColumn Header="Credentials" Binding="{Binding Url}" />
                    </sdk:DataGrid.Columns>
                </sdk:DataGrid>

ありがとうございました。

4

1 に答える 1

3

パスワードを取得する必要がありますか?それとも単に表示するためですか?

もしそうなら、コンバーターを試すことができます:

 <sdk:DataGridTextColumn Header="Credentials" Binding="{Binding Url, Converter={StaticResource MyConverterReference}}" />

 <Grid.Resources>
    <c:MyConverter x:Key="MyConverterReference"/>
 </Grid.Resources>

カップリング:

 public class MyConverter : IValueConverter
 {
    public object Convert(object o, Type type,object parameter, CultureInfo culture)
    {
      string objectToConvert = o.ToString();
      var secure = new SecureString();

      foreach (char c in objectToConvert )
      {
        secure.AppendChar(c);
      }

      return secure;
    }

    public object ConvertBack(object o, Type type,object parameter, CultureInfo culture)
    {
      return null;
    }
 }
于 2013-04-24T08:33:16.277 に答える