Change WPF Combobox to react on Mouse down

Solution for Change WPF Combobox to react on Mouse down
is Given Below:

The WPF ComboBox isn’t great when used on a touch screen.
User has to tap on the ComboBoxItem and release within a certain area etc, within a certain time frame.
Basically a mouse down followed by a mouse up.
If user taps (or same as clicks) slowly there is no selection of the ComboBoxItem.

To improve this I like to change the ComboBox item so it react on the MouseDown event instead,
this will make the selection of the ComboBox item much more natural when using a finger on touch screen..

My idea was to create a CustomComboBoxItem that inherits from the ComboBoxItem.

public class CustomComboBoxItem : ComboBoxItem
{
    protected override void OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs e)
    {
        IsSelected = true;
        OnSelected(e);
    }

}

But have to got this to work.
Keep getting:

Message=A style intended for type ‘CustomComboBoxItem’ cannot be applied to type ‘ComboBoxItem’.

Any ideas how to do this?

I do not think there is a need for CustomComboBoxItem. All you have to do is call the touch events and lock it when it touches an item, so that wherever you go on the screen, that item is selected and unlocked the first time you touch it.

touchdevice

mousedevice.capture

bool IsTouch = false;
private void ComboBoxItem_PreviewTouchDown(object sender, TouchEventArgs e)
{
    ComboBoxItem comboBoxItem = (ComboBoxItem)sender;
    e.TouchDevice.Capture(comboBoxItem);
    IsTouch = true;
}

private void ComboBoxItem_PreviewTouchUp(object sender, TouchEventArgs e)
{
    ComboBoxItem comboBoxItem = (ComboBoxItem)sender;
    comboBoxItem.ReleaseTouchCapture(e.TouchDevice);
    IsTouch = false;
}

private void ComboBoxItem_TouchMove(object sender, TouchEventArgs e)
{
    if(IsTouch)
    {
       //do work.............................
    }
}