XceedデータグリッドのCodeplexバージョンを使用しています。
ただし、グリッドをフォームで表示している間、「PoweredbyXceed」というテキストがデータグリッドの右上に表示されます。
これを削除することは可能ですか?どのように?
XceedデータグリッドのCodeplexバージョンを使用しています。
ただし、グリッドをフォームで表示している間、「PoweredbyXceed」というテキストがデータグリッドの右上に表示されます。
これを削除することは可能ですか?どのように?
これを試してみました。機能した。
<Style TargetType="{x:Type xcdg:HierarchicalGroupByControl}">
<Setter Property="Visibility" Value="Collapsed"/>
</Style>
先日、これについて短いブログ記事を書きました。装飾レイヤーを見つけて削除するための簡単な拡張メソッドを作成しました。
public static class XceedDataGridExtensions
{
public static void RemoveWaterMark(this DataGridControl grid)
{
object hgbc = XceedDataGridExtensions.FindChild<HierarchicalGroupByControl>(grid, null);
AdornerLayer al = AdornerLayer.GetAdornerLayer(hgbc as Control);
al.Visibility = System.Windows.Visibility.Collapsed;
}
static T FindChild<T>(DependencyObject parent, string childName) where T : DependencyObject
{
// Confirm parent and childName are valid.
if (parent == null) return null;
T foundChild = null;
int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
for (int i = 0; i < childrenCount; i++)
{
var child = VisualTreeHelper.GetChild(parent, i);
// If the child is not of the request child type child
T childType = child as T;
if (childType == null)
{
// recursively drill down the tree
foundChild = FindChild<T>(child, childName);
// If the child is found, break so we do not overwrite the found child.
if (foundChild != null) break;
}
else if (!string.IsNullOrEmpty(childName))
{
var frameworkElement = child as FrameworkElement;
// If the child's name is set for search
if (frameworkElement != null && frameworkElement.Name == childName)
{
// if the child's name is of the request name
foundChild = (T)child;
break;
}
}
else
{
// child element found.
foundChild = (T)child;
break;
}
}
return foundChild;
}
}
あなたはここでそれについてもっと読むことができます:http://blog.itsnotfound.com/2013/02/xceed-community-datagridcontrol-watermark-removal/
また、私の意見では@ punker76であり、コミュニティサイトのディスカッションスレッドで述べられているように、透かしの削除はMSPLに反するものではありません。開発者は、ソースコードの変更を使用して透かしを削除する方法を認めました。彼らはさらに受け入れられる解決策に取り組んでいます。こちらのディスカッションをご覧ください:http ://wpftoolkit.codeplex.com/discussions/428413
を削除する簡単な方法は、プロパティGroupByControl
を変更することだと思います。FixedHeaders
<xcdg:DataGridControl Grid.ColumnSpan="3"
UpdateSourceTrigger="CellContentChanged"
Grid.Row="8"
AutoCreateColumns="False"
IsDeleteCommandEnabled="True"
SelectionMode="Single"
ItemsSource="{Binding Instructions,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}">
<xcdg:DataGridControl.View>
<xcdg:TableView ShowRowSelectorPane="False"
UseDefaultHeadersFooters="False"
ColumnStretchMode="All">
<xcdg:TableView.FixedHeaders>
<DataTemplate>
<DockPanel>
<xcdg:ColumnManagerRow DockPanel.Dock="Right"
AllowColumnReorder="False"
AllowColumnResize="False" />
<xcdg:GroupByControl x:Name="groupByControl"
Visibility="Collapsed" />
</DockPanel>
</DataTemplate>
</xcdg:TableView.FixedHeaders>
</xcdg:TableView>
</xcdg:DataGridControl.View>
<xcdg:DataGridControl.Columns>
<xcdg:Column Title="Title"
FieldName="Title" />
<xcdg:Column Title="Content"
FieldName="Content" />
<xcdg:Column Title="Image Url"
FieldName="ImageUrl" />
</xcdg:DataGridControl.Columns>
</xcdg:DataGridControl>
例のように、プロパティの値Visibility
を「折りたたみ」に設定するだけです。