July 2010 - Posts

It is very common to have multiple sibling instances of a template, such as the column DataTemplates in a DataGrid. If these shared a namescope, there would be name collisions. So templates in XAML and Silverlight are obliged to have private namescopes.

The change of namescope makes it impossible, inside a DataTemplate, to use ElementName syntax to bind a Selector.ItemsSource to a DataSource defined at page level. This is a significant issue for LOB application developers. Foreign keys into lookup tables are very commonly implemented using a ComboBox with its list provided by another DataSource. Fortunately, once the nature of the problem is clearly understood it is not difficult to solve.

There are two possible approaches. Both will work. One scales better.

  • Declare the lookup DataSource in the template and use ElementName binding.
  • Declare the lookup DataSource objects as page resources and use StaticResource binding.

Declaring the lookup data source inside the template would bring it into the right name scope for ElementName binding to work. But putting the data source in the template would be a performance disaster. It would produce a private instance of the DataSource for every instance of the template.

Like name scope, resource scope is container-based. It is possible to declare a resource section in a template, but this is such an obviously bad idea – a private instance of each resource would be created for each instance of the template – that nobody ever does it. The possibility of resource name collisions is therefore unimportant, and we can use the resource namespace to work around the necessarily disjunct name scope of a template.

Source: http://www.calsci.com/motorcycleinfo/FilterXRef.html

This seems to be quite a handy site, with a very high information density.

Basic characteristics

20 x 1.5mm threads, 14 psi by-pass valve, anti-drain back valve, 2.3” O.D. gasket, 2.5” to 3.5” long

If you have the room, I recommend the longer filters. Fit depends on model.

EQUIVALENCE CODE Z436

Made-for-motorcycle filters

None are recommended.

  • AC Delco PF2135
  • AMSOil SMF103
  • Carquest 85358
  • AC Delco PF2135
  • FRAM PH6017A
  • Honda 15410-MCJ-000
  • K&N KN-204, about $13. Metric nut on end for easy removal.
  • NAPA Gold 1358
  • Purolator ML16817. Imported, not made by Purolator.
  • STP SMO 17
  • WIX 51358

Recommended filters


All have superior filtering.

2.5” 3.25”
Purolator Pure One PL14612, about $6 Purolator Pure One PL14610, about $6
Mobil M1-108, about $12.
Made by Champion
Mobil 1 M1-110, about $10.
Made by Champion
Bosch 3300, about $6.
Made by Champion
Bosch 3323, about $6.
Made By Champion
Wal-Mart SuperTech ST6607
Made by Champion
WalMart SuperTech ST7317,
about $2. Made by Champion

Automobile Filters


2.5” 3.25”
AC Delco PF1237 AC Delco PF-2057
Baldwin B1400 Auto Pro 2356
Firestone TF2876 Autopride CF240AP
Hastings LF113 Baldwin B1402
NAPA Gold 1365 Carquest 85356
Purolator L14612 Carquest Red B4620
STP S-02876 Casite CF240
WalMart SuperTech ST6607 Castrol 7317
WIX 51365 Champion Labs Ph2867
  Defense Filters Dl7317
  Deutsch D-370
  Federated Filters LF240F
  Fram Double Guard DG7317
  Fram PH7317
  Fram Tough Guard TG7317
  Fram Xtra Guard XG7317
  Group 7 V4610
  Group 7 V4620
  Hastings LF240
  Mighty M4612
  Motorcraft Long Life FL-821
  Napa FIL1356
  Napa Gold 1356
  Parts Plus PH2867
  Pennzoil PZ-109
  Penske 7317
  Powerflo SL14610
  Powerflo SL14620
  Pro Gauge PGO-4620
  Pro Tec 164
  Promotive PH4610
  Pronto PO3593A
  Purolator L14610
  Service Champ OF-4622
  Shell SH48
  Shell SH529
  Stp S-02867
  Valvoline VO50
  Warner PH2867
  Wix 51356
Posted by peterw | with no comments