or
FrameworkElementFactory factory =
new
FrameworkElementFactory(
typeof
(CheckBox));
factory.AddHandler(CheckBox.CheckedEvent,
new
RoutedEventHandler(GridViewAll_HeaderCheckBox_Checked));
factory.AddHandler(CheckBox.UncheckedEvent,
new
RoutedEventHandler(GridViewAll_HeaderCheckBox_Checked));
factory.SetValue(CheckBox.ToolTipProperty,
"(De)Select All"
);
DataTemplate template =
new
DataTemplate();
template.DataType =
typeof
(
bool
);
template.VisualTree = factory;
GridViewCheckBoxColumn column =
new
GridViewCheckBoxColumn();
column.DataMemberBinding =
new
Binding(prefix + property.Name);
column.Header = template
// <-- this does not work
var customerids =
from c
in
customersQueryView
select c.customerid;
var customerids =
from c
in
customersQueryView.AsQueryable()
select c.customerid;
class
CustomGridViewToggleRowDetailsColumn : GridViewBoundColumnBase {
public
static
RoutedEvent ClickEvent =
EventManager.RegisterRoutedEvent(
"Click"
, RoutingStrategy.Bubble,
typeof
( ToggleRowDetailsColumnRoutedEventHandler ),
typeof
( CustomGridViewToggleRowDetailsColumn ) );
public
GridViewCell Cell {
get
;
set
; }
public
event
RoutedEventHandler Click {
add { AddHandler( ClickEvent, value ); }
remove { RemoveHandler( ClickEvent, value ); }
}
public
override
object
Header {
get
{
return
null
; }
set
{
base
.Header = value; }
}
public
GridViewToggleButton ToggleButton {
get
;
set
; }
private
Binding toggleButtonVisibility;
public
Binding ToggleButtonVisibility {
get
{
return
toggleButtonVisibility; }
set
{ toggleButtonVisibility = value; }
}
public
CustomGridViewToggleRowDetailsColumn() {
this
.EditTriggers = GridViewEditTriggers.None;
}
public
override
bool
CanFilter() {
return
false
;
}
public
override
bool
CanGroup() {
return
false
;
}
public
override
bool
CanSort() {
return
false
;
}
public
override
FrameworkElement CreateCellElement( GridViewCell cell,
object
dataItem ) {
Cell = cell;
ToggleButton =
new
GridViewToggleButton {
Margin =
new
System.Windows.Thickness( 3 )
};
ToggleButton.Click +=
new
RoutedEventHandler( ToggleButton_Click );
if
(
this
.DataMemberBinding !=
null
) {
ToggleButton.SetBinding( GridViewToggleButton.IsCheckedProperty,
this
.DataMemberBinding );
}
if
( ToggleButtonVisibility !=
null
) {
ToggleButton.SetBinding( GridViewToggleButton.VisibilityProperty, ToggleButtonVisibility );
}
GridViewRow row = cell.ParentRow
as
GridViewRow;
row.SetBinding( GridViewRow.DetailsVisibilityProperty,
new
Binding(
"IsChecked"
) {
Source = ToggleButton,
Converter =
new
BooleanToVisibilityConverter(),
Mode = BindingMode.TwoWay
} );
return
ToggleButton;
}
void
ToggleButton_Click(
object
sender, RoutedEventArgs e ) {
// Raise our Click event
RoutedEventArgs newEventArgs =
new
ToggleRowDetailsColumnRoutedEventArgs( ClickEvent, Cell );
RaiseEvent( newEventArgs );
}
}
public
class
ToggleRowDetailsColumnRoutedEventArgs : RoutedEventArgs {
public
GridViewCell Cell {
get
;
set
; }
public
GridViewRow Row {
get
{
return
Cell.ParentRow
as
GridViewRow; }
}
public
ToggleRowDetailsColumnRoutedEventArgs( RoutedEvent routedEvent, GridViewCell cell )
:
base
( routedEvent ) {
Cell = cell;
}
}
public
delegate
void
ToggleRowDetailsColumnRoutedEventHandler(
object
sender, ToggleRowDetailsColumnRoutedEventArgs e );
private
void
ExpandAlarms_Click(
object
sender, ToggleRowDetailsColumnRoutedEventArgs e ) {
ReadViewModel read = e.Row.Item
as
ReadViewModel;
if
( read.Alarms ==
null
) {
read.Alarms = DataInterface.GetAlarmsForRead( read.ID );
}
e.Handled =
true
;
}
<
telerik:GridViewMaskedTextBoxColumn
Mask
=
"P1"
MaskType
=
"Numeric"
DataMemberBinding
=
"{Binding CurrentAllocationWeight}"
DisplayIndex
=
"1"
IsReadOnly
=
"True"
DataFormatString
=
"{}{0:P1}"
Header
=
"% Of Total"
ColumnGroupName
=
"CurrentAllocation"
/>
var lineSeries =
new
LineSeries();
lineSeries.CategoryBinding =
new
PropertyNameDataPointBinding() { PropertyName =
"TimeStamp"
};
lineSeries.ValueBinding =
new
PropertyNameDataPointBinding() { PropertyName =
"Value"
};
lineSeries.ItemsSource = (chart.Chart
as
GuiAnalogQueue).Records;
<
telerik:Needle
x:Name
=
"needle"
IsAnimated
=
"True"
Value
=
"{Binding Value}"
/>
<
telerik:Needle
x:Name
=
"needle"
IsAnimated
=
"True"
Value
=
"{Binding chart.Chart.Value}"
/>